180 {
181
182 float scaledTime = t * 2;
183 float scaledTime2 = scaledTime - 2;
184
185 float s = magnitude * 1.525;
186
187 if( scaledTime < 1)
188 {
189 return 0.5 * scaledTime * scaledTime * (( ( s + 1 ) * scaledTime ) - s);
190 }
191
192 return 0.5 * (scaledTime2 * scaledTime2 * ( ( s + 1 ) * scaledTime2 + s ) + 2);
193 }