Simbody
3.4 (development)
|
y=cube(x) returns the cube of the argument for any numeric type, integral or floating point. More...
Functions | |
unsigned char | SimTK::cube (unsigned char u) |
unsigned short | SimTK::cube (unsigned short u) |
unsigned int | SimTK::cube (unsigned int u) |
unsigned long | SimTK::cube (unsigned long u) |
unsigned long long | SimTK::cube (unsigned long long u) |
char | SimTK::cube (char c) |
signed char | SimTK::cube (signed char i) |
short | SimTK::cube (short i) |
int | SimTK::cube (int i) |
long | SimTK::cube (long i) |
long long | SimTK::cube (long long i) |
float | SimTK::cube (const float &x) |
double | SimTK::cube (const double &x) |
long double | SimTK::cube (const long double &x) |
negator< float > | SimTK::cube (const negator< float > &x) |
negator< double > | SimTK::cube (const negator< double > &x) |
negator< long double > | SimTK::cube (const negator< long double > &x) |
template<class P > | |
std::complex< P > | SimTK::cube (const std::complex< P > &x) |
template<class P > | |
std::complex< P > | SimTK::cube (const negator< std::complex< P > > &x) |
template<class P > | |
std::complex< P > | SimTK::cube (const conjugate< P > &x) |
template<class P > | |
std::complex< P > | SimTK::cube (const negator< conjugate< P > > &x) |
y=cube(x) returns the cube of the argument for any numeric type, integral or floating point.
We promise to evaluate x only once. We assume is is acceptable for the result type to be the same as the argument type; if it won't fit caller must cast argument to a wider type first. This is an inline routine which will run as fast as explicit multiplies (x*x*x) in optimized code, and significantly faster for complex or conjugate types (8 flops vs. 11).
Cubing a negated real type returns a negated result. Cubing a negated complex or conjugate returns a non-negated complex result since that can be done with no additional cost.
unsigned char SimTK::cube | ( | unsigned char | u | ) | [inline] |
unsigned short SimTK::cube | ( | unsigned short | u | ) | [inline] |
unsigned int SimTK::cube | ( | unsigned int | u | ) | [inline] |
unsigned long SimTK::cube | ( | unsigned long | u | ) | [inline] |
unsigned long long SimTK::cube | ( | unsigned long long | u | ) | [inline] |
char SimTK::cube | ( | char | c | ) | [inline] |
signed char SimTK::cube | ( | signed char | i | ) | [inline] |
short SimTK::cube | ( | short | i | ) | [inline] |
int SimTK::cube | ( | int | i | ) | [inline] |
long SimTK::cube | ( | long | i | ) | [inline] |
long long SimTK::cube | ( | long long | i | ) | [inline] |
float SimTK::cube | ( | const float & | x | ) | [inline] |
double SimTK::cube | ( | const double & | x | ) | [inline] |
long double SimTK::cube | ( | const long double & | x | ) | [inline] |
negator<float> SimTK::cube | ( | const negator< float > & | x | ) | [inline] |
negator<double> SimTK::cube | ( | const negator< double > & | x | ) | [inline] |
negator<long double> SimTK::cube | ( | const negator< long double > & | x | ) | [inline] |
std::complex<P> SimTK::cube | ( | const std::complex< P > & | x | ) | [inline] |
std::complex<P> SimTK::cube | ( | const negator< std::complex< P > > & | x | ) | [inline] |
std::complex<P> SimTK::cube | ( | const conjugate< P > & | x | ) | [inline] |
std::complex<P> SimTK::cube | ( | const negator< conjugate< P > > & | x | ) | [inline] |