usecrate::types::Fixed;pubtypeEaseFn=fn(Fixed)-> Fixed;pubfnlinear(t: Fixed)-> Fixed{
t
}pubfnease_in_quad(t: Fixed)-> Fixed{
t * t
}pubfnease_out_quad(t: Fixed)-> Fixed{let inv =Fixed::ONE- t;Fixed::ONE- inv * inv
}pubfnease_in_out_quad(t: Fixed)-> Fixed{if t <Fixed::HALF{
t * t *Fixed::from_int(2)}else{let inv =Fixed::ONE- t;Fixed::ONE- inv * inv *Fixed::from_int(2)}}pubfnease_in_cubic(t: Fixed)-> Fixed{
t * t * t
}pubfnease_out_cubic(t: Fixed)-> Fixed{let inv =Fixed::ONE- t;Fixed::ONE- inv * inv * inv
}pubfnease_in_out_cubic(t: Fixed)-> Fixed{if t <Fixed::HALF{Fixed::from_int(4)* t * t * t
}else{let p =Fixed::from_int(2)* t -Fixed::from_int(2);Fixed::ONE+ p * p * p /Fixed::from_int(2)}}