# Easing

The `Easing` module implements common easing functions. This module is used by Animated.timing() to convey physically believable motion in animations.
You can find a visualization of some common easing functions at http://easings.net/

The `Easing` module provides several predefined animations through the following methods:

Three standard easing functions are provided:
The `poly` function can be used to implement quartic, quintic, and other higher power functions.

Additional mathematical functions are provided by the following methods:
The following helpers are used to modify other easing functions.

# Reference

### Permalink`step0()`

``````static step0(n)
``````
A stepping function, returns 1 for any positive value of `n`.

### Permalink`step1()`

``````static step1(n)
``````
A stepping function, returns 1 if `n` is greater than or equal to 1.

### Permalink`linear()`

``````static linear(t)
``````
A linear function, `f(t) = t`. Position correlates to elapsed time one to one.

### Permalink`ease()`

``````static ease(t)
``````
A simple inertial interaction, similar to an object slowly accelerating to speed.

### Permalink`quad()`

``````static quad(t)
``````
A quadratic function, `f(t) = t * t`. Position equals the square of elapsed time.

### Permalink`cubic()`

``````static cubic(t)
``````
A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed time.

### Permalink`poly()`

``````static poly(n)
``````
A power function. Position is equal to the Nth power of elapsed time.

### Permalink`sin()`

``````static sin(t)
``````
A sinusoidal function.

### Permalink`circle()`

``````static circle(t)
``````
A circular function.

### Permalink`exp()`

``````static exp(t)
``````
An exponential function.

### Permalink`elastic()`

``````static elastic(bounciness)
``````
A simple elastic interaction, similar to a spring oscillating back and forth.
Default bounciness is 1, which overshoots a little bit once. 0 bounciness doesn't overshoot at all, and bounciness of N > 1 will overshoot about N times.

### Permalink`back()`

``````static back(s)
``````
Use with `Animated.parallel()` to create a simple effect where the object animates back slightly as the animation starts.

### Permalink`bounce()`

``````static bounce(t)
``````
Provides a simple bouncing effect.

### Permalink`bezier()`

``````static bezier(x1, y1, x2, y2)
``````
Provides a cubic bezier curve, equivalent to CSS Transitions' `transition-timing-function`.
A useful tool to visualize cubic bezier curves can be found at http://cubic-bezier.com/

### Permalink`in()`

``````static in easing;
``````
Runs an easing function forwards.

### Permalink`out()`

``````static out(easing)
``````
Runs an easing function backwards.

### Permalink`inOut()`

``````static inOut(easing)
``````
Makes any easing function symmetrical. The easing function will run forwards for half of the duration, then backwards for the rest of the duration.