y=cube(x) returns the cube of the argument for any numeric type, integral or floating point.
More...
Detailed Description
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.
Function Documentation
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] |
template<class P >
std::complex<P> SimTK::cube |
( |
const std::complex< P > & |
x | ) |
[inline] |
template<class P >
std::complex<P> SimTK::cube |
( |
const negator< std::complex< P > > & |
x | ) |
[inline] |
template<class P >
std::complex<P> SimTK::cube |
( |
const conjugate< P > & |
x | ) |
[inline] |
template<class P >
std::complex<P> SimTK::cube |
( |
const negator< conjugate< P > > & |
x | ) |
[inline] |