Vecmat 0.2.3
C math and linear algebra library for 2D/3D graphics, physics, and science.
Loading...
Searching...
No Matches
easing.c File Reference
#include <vecmat.h>

Go to the source code of this file.

Functions

vm_float_t elastic_oscillation (const vm_float_t f, const vm_float_t exp_mult, const vm_float_t sin_mult, const vm_float_t sin_offset, const vm_float_t period)
vm_float_t poly_ease_in (const vm_float_t f, const vm_float_t n)
vm_float_t poly_ease_out (const vm_float_t f, const vm_float_t n)
vm_float_t poly_ease_in_out (const vm_float_t f, const vm_float_t n)
vm_float_t quadratic_ease_out (const vm_float_t f)
vm_float_t quadratic_ease_in (const vm_float_t f)
vm_float_t quadratic_ease_in_out (const vm_float_t f)
vm_float_t cubic_ease_out (const vm_float_t f)
vm_float_t cubic_ease_in (const vm_float_t f)
vm_float_t cubic_ease_in_out (const vm_float_t f)
vm_float_t quartic_ease_out (const vm_float_t f)
vm_float_t quartic_ease_in (const vm_float_t f)
vm_float_t quartic_ease_in_out (const vm_float_t f)
vm_float_t quintic_ease_out (const vm_float_t f)
vm_float_t quintic_ease_in (const vm_float_t f)
vm_float_t quintic_ease_in_out (const vm_float_t f)
vm_float_t sine_ease_out (const vm_float_t f)
vm_float_t sine_ease_in (const vm_float_t f)
vm_float_t sine_ease_in_out (const vm_float_t f)
vm_float_t circular_ease_out (const vm_float_t f)
vm_float_t circular_ease_in (const vm_float_t f)
vm_float_t circular_ease_in_out (const vm_float_t f)
vm_float_t exponential_ease_out (const vm_float_t f)
vm_float_t exponential_ease_in (const vm_float_t f)
vm_float_t exponential_ease_in_out (const vm_float_t f)
vm_float_t elastic_ease_out (const vm_float_t f)
vm_float_t elastic_ease_in (const vm_float_t f)
vm_float_t elastic_ease_in_out (const vm_float_t f)
vm_float_t back_ease_out (const vm_float_t f)
vm_float_t back_ease_in (const vm_float_t f)
vm_float_t back_ease_in_out (const vm_float_t f)
vm_float_t bounce_ease_out (const vm_float_t f)
vm_float_t bounce_ease_in (const vm_float_t f)
vm_float_t bounce_ease_in_out (const vm_float_t f)

Function Documentation

◆ back_ease_in()

vm_float_t back_ease_in ( const vm_float_t f)

Definition at line 164 of file easing.c.

◆ back_ease_in_out()

vm_float_t back_ease_in_out ( const vm_float_t f)

Definition at line 169 of file easing.c.

References VECMAT_POW.

◆ back_ease_out()

vm_float_t back_ease_out ( const vm_float_t f)

Definition at line 159 of file easing.c.

References VECMAT_POW.

◆ bounce_ease_in()

vm_float_t bounce_ease_in ( const vm_float_t f)

Definition at line 195 of file easing.c.

References bounce_ease_out().

◆ bounce_ease_in_out()

vm_float_t bounce_ease_in_out ( const vm_float_t f)

Definition at line 200 of file easing.c.

References bounce_ease_out().

◆ bounce_ease_out()

vm_float_t bounce_ease_out ( const vm_float_t f)

Definition at line 177 of file easing.c.

Referenced by bounce_ease_in(), and bounce_ease_in_out().

◆ circular_ease_in()

vm_float_t circular_ease_in ( const vm_float_t f)

Definition at line 112 of file easing.c.

References VECMAT_SQRT.

◆ circular_ease_in_out()

vm_float_t circular_ease_in_out ( const vm_float_t f)

Definition at line 117 of file easing.c.

References VECMAT_SQRT.

◆ circular_ease_out()

vm_float_t circular_ease_out ( const vm_float_t f)

Definition at line 107 of file easing.c.

References VECMAT_SQRT.

◆ cubic_ease_in()

vm_float_t cubic_ease_in ( const vm_float_t f)

Definition at line 52 of file easing.c.

References poly_ease_in().

◆ cubic_ease_in_out()

vm_float_t cubic_ease_in_out ( const vm_float_t f)

Definition at line 57 of file easing.c.

References poly_ease_in_out().

◆ cubic_ease_out()

vm_float_t cubic_ease_out ( const vm_float_t f)

Definition at line 47 of file easing.c.

References poly_ease_out().

◆ elastic_ease_in()

vm_float_t elastic_ease_in ( const vm_float_t f)

Definition at line 145 of file easing.c.

References elastic_oscillation().

◆ elastic_ease_in_out()

vm_float_t elastic_ease_in_out ( const vm_float_t f)

Definition at line 151 of file easing.c.

References elastic_oscillation().

◆ elastic_ease_out()

vm_float_t elastic_ease_out ( const vm_float_t f)

Definition at line 139 of file easing.c.

References elastic_oscillation().

◆ elastic_oscillation()

vm_float_t elastic_oscillation ( const vm_float_t f,
const vm_float_t exp_mult,
const vm_float_t sin_mult,
const vm_float_t sin_offset,
const vm_float_t period )

Definition at line 7 of file easing.c.

References M_PI, VECMAT_POW, and VECMAT_SIN.

Referenced by elastic_ease_in(), elastic_ease_in_out(), and elastic_ease_out().

◆ exponential_ease_in()

vm_float_t exponential_ease_in ( const vm_float_t f)

Definition at line 128 of file easing.c.

References VECMAT_POW.

◆ exponential_ease_in_out()

vm_float_t exponential_ease_in_out ( const vm_float_t f)

Definition at line 133 of file easing.c.

References VECMAT_POW.

◆ exponential_ease_out()

vm_float_t exponential_ease_out ( const vm_float_t f)

Definition at line 123 of file easing.c.

References VECMAT_POW.

◆ poly_ease_in()

vm_float_t poly_ease_in ( const vm_float_t f,
const vm_float_t n )

Definition at line 17 of file easing.c.

References VECMAT_POW.

Referenced by cubic_ease_in(), quadratic_ease_in(), quartic_ease_in(), and quintic_ease_in().

◆ poly_ease_in_out()

vm_float_t poly_ease_in_out ( const vm_float_t f,
const vm_float_t n )

Definition at line 27 of file easing.c.

References VECMAT_POW.

Referenced by cubic_ease_in_out(), quadratic_ease_in_out(), quartic_ease_in_out(), and quintic_ease_in_out().

◆ poly_ease_out()

vm_float_t poly_ease_out ( const vm_float_t f,
const vm_float_t n )

Definition at line 22 of file easing.c.

References VECMAT_POW.

Referenced by cubic_ease_out(), quadratic_ease_out(), quartic_ease_out(), and quintic_ease_out().

◆ quadratic_ease_in()

vm_float_t quadratic_ease_in ( const vm_float_t f)

Definition at line 37 of file easing.c.

References poly_ease_in().

◆ quadratic_ease_in_out()

vm_float_t quadratic_ease_in_out ( const vm_float_t f)

Definition at line 42 of file easing.c.

References poly_ease_in_out().

◆ quadratic_ease_out()

vm_float_t quadratic_ease_out ( const vm_float_t f)

Definition at line 32 of file easing.c.

References poly_ease_out().

◆ quartic_ease_in()

vm_float_t quartic_ease_in ( const vm_float_t f)

Definition at line 67 of file easing.c.

References poly_ease_in().

◆ quartic_ease_in_out()

vm_float_t quartic_ease_in_out ( const vm_float_t f)

Definition at line 72 of file easing.c.

References poly_ease_in_out().

◆ quartic_ease_out()

vm_float_t quartic_ease_out ( const vm_float_t f)

Definition at line 62 of file easing.c.

References poly_ease_out().

◆ quintic_ease_in()

vm_float_t quintic_ease_in ( const vm_float_t f)

Definition at line 82 of file easing.c.

References poly_ease_in().

◆ quintic_ease_in_out()

vm_float_t quintic_ease_in_out ( const vm_float_t f)

Definition at line 87 of file easing.c.

References poly_ease_in_out().

◆ quintic_ease_out()

vm_float_t quintic_ease_out ( const vm_float_t f)

Definition at line 77 of file easing.c.

References poly_ease_out().

◆ sine_ease_in()

vm_float_t sine_ease_in ( const vm_float_t f)

Definition at line 97 of file easing.c.

References M_PI, and VECMAT_COS.

◆ sine_ease_in_out()

vm_float_t sine_ease_in_out ( const vm_float_t f)

Definition at line 102 of file easing.c.

References M_PI, and VECMAT_COS.

◆ sine_ease_out()

vm_float_t sine_ease_out ( const vm_float_t f)

Definition at line 92 of file easing.c.

References M_PI, and VECMAT_SIN.