16-bit cubic ease-in/ease-out function Takes an input value 0-65535 and returns an eased value 0-65535
Definition at line 206 of file ease.cpp.
206 {
207 const u32
MAX = 0xFFFF;
208 const u32 HALF = (
MAX + 1) >> 1;
209 const fl::u64 M2 = (fl::u64)
MAX *
MAX;
210
212
214 fl::u64 cube = xi * xi * xi;
215
216 fl::u64 num = 4 * cube + (M2 >> 1);
217 return (u16)(num / M2);
218 } else {
219
220
222 fl::u64 cube = d * d * d;
223 fl::u64 num = 4 * cube + (M2 >> 1);
224 return (u16)(
MAX - (num / M2));
225 }
226}
References MAX, and x.
Referenced by ease16(), and ease16().