29 #if defined(NEOPIXEBUS_NO_STL)
52 return unitValue * unitValue;
57 return (-unitValue * (unitValue - 2.0f));
65 return (0.5f * unitValue * unitValue);
70 return (-0.5f * (unitValue * (unitValue - 2.0f) - 1.0f));
79 return (-0.5f * (unitValue * unitValue - 2.0f));
84 return (0.5f * (unitValue * unitValue + 1.0f));
90 return (unitValue * unitValue * unitValue);
96 return (unitValue * unitValue * unitValue + 1.0f);
102 if (unitValue < 1.0f)
104 return (0.5f * unitValue * unitValue * unitValue);
109 return (0.5f * (unitValue * unitValue * unitValue + 2.0f));
117 return (0.5f * (unitValue * unitValue * unitValue + 1.0f));
122 return (unitValue * unitValue * unitValue * unitValue);
128 return -(unitValue * unitValue * unitValue * unitValue - 1.0f);
134 if (unitValue < 1.0f)
136 return (0.5f * unitValue * unitValue * unitValue * unitValue);
141 return (-0.5f * (unitValue * unitValue * unitValue * unitValue - 2.0f));
149 if (unitValue < 0.0f)
151 return (-0.5f * (unitValue * unitValue * unitValue * unitValue - 1.0f));
155 return (0.5f * (unitValue * unitValue * unitValue * unitValue + 1.0f));
161 return (unitValue * unitValue * unitValue * unitValue * unitValue);
167 return (unitValue * unitValue * unitValue * unitValue * unitValue + 1.0f);
173 if (unitValue < 1.0f)
175 return (0.5f * unitValue * unitValue * unitValue * unitValue * unitValue);
180 return (0.5f * (unitValue * unitValue * unitValue * unitValue * unitValue + 2.0f));
188 return (0.5f * (unitValue * unitValue * unitValue * unitValue * unitValue + 1.0f));
193 return (-cos(unitValue * HALF_PI) + 1.0f);
198 return (sin(unitValue * HALF_PI));
203 return -0.5f * (cos(PI * unitValue) - 1.0f);
208 if (unitValue < 0.5f)
210 return (0.5f * sin(PI * unitValue));
214 return (-0.5f * (cos(PI * (unitValue-0.5f)) + 1.0f));
221 return (pow(2, 10.0f * (unitValue - 1.0f)));
226 return (-pow(2, -10.0f * unitValue) + 1.0f);
232 if (unitValue < 1.0f)
234 return (0.5f * pow(2, 10.0f * (unitValue - 1.0f)));
239 return (0.5f * (-pow(2, -10.0f * unitValue) + 2.0f));
246 if (unitValue < 1.0f)
248 return (0.5f * (-pow(2, -10.0f * unitValue) + 1.0f));
253 return (0.5f * (pow(2, 10.0f * unitValue) + 1.0f));
259 if (unitValue == 1.0f)
265 return (-(sqrt(1.0f - unitValue * unitValue) - 1.0f));
272 return (sqrt(1.0f - unitValue * unitValue));
278 if (unitValue < 1.0f)
280 return (-0.5f * (sqrt(1.0f - unitValue * unitValue) - 1.0f));
285 return (0.5f * (sqrt(1.0f - unitValue * unitValue) + 1.0f));
294 if (unitValue < 0.0f)
296 return (0.5f * sqrt(1.0f - unitValue * unitValue));
298 else if (unitValue > 0.0f)
301 return (-0.5f * (sqrt(1.0f - unitValue * unitValue) - 1.0f ) + 0.5f);
311 return pow(unitValue, 1.0f / 0.45f);
316 if (unitValue <= 0.08f)
318 return unitValue / 9.033f;
322 return pow((unitValue + 0.16f) / 1.16f, 3.0f);
std::function< float(float unitValue)> AnimEaseFunction
Definition: NeoEase.h:38
static float CubicOut(float unitValue)
Definition: NeoEase.h:93
static float QuarticCenter(float unitValue)
Definition: NeoEase.h:145
static float QuinticOut(float unitValue)
Definition: NeoEase.h:164
static float QuinticIn(float unitValue)
Definition: NeoEase.h:159
static float CircularInOut(float unitValue)
Definition: NeoEase.h:275
static float QuinticCenter(float unitValue)
Definition: NeoEase.h:184
static float CircularOut(float unitValue)
Definition: NeoEase.h:269
static float CircularCenter(float unitValue)
Definition: NeoEase.h:289
static float CircularIn(float unitValue)
Definition: NeoEase.h:257
static float ExponentialIn(float unitValue)
Definition: NeoEase.h:219
static float CubicInOut(float unitValue)
Definition: NeoEase.h:99
static float Gamma(float unitValue)
Definition: NeoEase.h:309
static float ExponentialInOut(float unitValue)
Definition: NeoEase.h:229
static float Linear(float unitValue)
Definition: NeoEase.h:45
static float QuadraticIn(float unitValue)
Definition: NeoEase.h:50
static float SinusoidalOut(float unitValue)
Definition: NeoEase.h:196
static float QuarticIn(float unitValue)
Definition: NeoEase.h:120
static float CubicIn(float unitValue)
Definition: NeoEase.h:88
static float ExponentialCenter(float unitValue)
Definition: NeoEase.h:243
static float QuinticInOut(float unitValue)
Definition: NeoEase.h:170
static float QuadraticOut(float unitValue)
Definition: NeoEase.h:55
static float SinusoidalIn(float unitValue)
Definition: NeoEase.h:191
static float QuadraticInOut(float unitValue)
Definition: NeoEase.h:60
static float SinusoidalCenter(float unitValue)
Definition: NeoEase.h:206
static float QuarticInOut(float unitValue)
Definition: NeoEase.h:131
static float QuarticOut(float unitValue)
Definition: NeoEase.h:125
static float QuadraticCenter(float unitValue)
Definition: NeoEase.h:74
static float CubicCenter(float unitValue)
Definition: NeoEase.h:113
static float ExponentialOut(float unitValue)
Definition: NeoEase.h:224
static float GammaCieLab(float unitValue)
Definition: NeoEase.h:314
static float SinusoidalInOut(float unitValue)
Definition: NeoEase.h:201