Namespace for the Math API. More...
Namespaces | |
| functor | |
| Namespace for basic math functors in the Math API.  | 
|
| general | |
| Namespace for generic functions in the Math API.  | 
|
Classes | |
| struct | Bbox_struct | 
| Storage class for an axis-aligned N-dimensional bounding box class template of fixed dimension.  More... | 
|
| class | Bbox | 
| Axis-aligned N-dimensional bounding box class template of fixed dimension.  More... | 
|
| struct | Spectrum_struct | 
| Generic storage class template for a Spectrum representation storing three floating point elements.  More... | 
|
| class | Color | 
| Standard RGBA color class with floating point elements and operations.  More... | 
|
| struct | Matrix_struct | 
| Storage class for a NxM-dimensional matrix class template of fixed dimensions.  More... | 
|
| struct | Matrix_struct< T, 1, 1 > | 
| Specialization for 1x1-matrix.  More... | 
|
| struct | Matrix_struct< T, 2, 1 > | 
| Specialization for 2x1-matrix.  More... | 
|
| struct | Matrix_struct< T, 3, 1 > | 
| Specialization for 3x1-matrix.  More... | 
|
| struct | Matrix_struct< T, 4, 1 > | 
| Specialization for 4x1-matrix.  More... | 
|
| struct | Matrix_struct< T, 1, 2 > | 
| Specialization for 1x2-matrix.  More... | 
|
| struct | Matrix_struct< T, 2, 2 > | 
| Specialization for 2x2-matrix.  More... | 
|
| struct | Matrix_struct< T, 3, 2 > | 
| Specialization for 3x2-matrix.  More... | 
|
| struct | Matrix_struct< T, 4, 2 > | 
| Specialization for 4x2-matrix.  More... | 
|
| struct | Matrix_struct< T, 1, 3 > | 
| Specialization for 1x3-matrix.  More... | 
|
| struct | Matrix_struct< T, 2, 3 > | 
| Specialization for 2x3-matrix.  More... | 
|
| struct | Matrix_struct< T, 3, 3 > | 
| Specialization for 3x3-matrix.  More... | 
|
| struct | Matrix_struct< T, 4, 3 > | 
| Specialization for 4x3-matrix.  More... | 
|
| struct | Matrix_struct< T, 1, 4 > | 
| Specialization for 1x4-matrix.  More... | 
|
| struct | Matrix_struct< T, 2, 4 > | 
| Specialization for 2x4-matrix.  More... | 
|
| struct | Matrix_struct< T, 3, 4 > | 
| Specialization for 3x4-matrix.  More... | 
|
| struct | Matrix_struct< T, 4, 4 > | 
| Specialization for 4x4-matrix.  More... | 
|
| class | Matrix | 
| NxM-dimensional matrix class template of fixed dimensions.  More... | 
|
| class | Spectrum | 
| Spectrum with floating point elements and operations.  More... | 
|
| struct | Color_struct | 
| Generic storage class template for an RGBA color representation storing four floating points elements.  More... | 
|
| struct | Vector_struct | 
Generic storage class template for math vector representations storing DIM elements of type T.  More... | 
|
| struct | Vector_struct< T, 1 > | 
| Specialization for dimension 1 to create x member.  More... | 
|
| struct | Vector_struct< T, 2 > | 
| Specialization for dimension 2 to create x and y member.  More... | 
|
| struct | Vector_struct< T, 3 > | 
| Specialization for dimension 3 to create x, y, and z members.  More... | 
|
| struct | Vector_struct< T, 4 > | 
| Specialization for dimension 4 to create x, y, z, and w members.  More... | 
|
| class | Vector | 
| Fixed-size math vector class template with generic operations.  More... | 
|
Enumerations | |
| enum | 
Clip_mode {  CLIP_RGB, CLIP_ALPHA, CLIP_RAW }  | 
| Supported clipping modes.  More... | 
|
| enum | From_iterator_tag { FROM_ITERATOR } | 
| Enum used for initializing a vector from an iterator.  More... | 
|
Functions | |
| template<typename T , Size DIM> | |
| Bbox< T, DIM > | operator+ (const Bbox< T, DIM > &bbox, T value) | 
Returns a bounding box that is the bbox increased by a constant value at each face, i.e., value is added to bbox.max and subtracted from bbox.min.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > | operator- (const Bbox< T, DIM > &bbox, T value) | 
Returns a bounding box that is the bbox shrunk by a constant value at each face, i.e., value is subtracted from bbox.max and added to bbox.min.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > | operator* (const Bbox< T, DIM > &bbox, T factor) | 
Returns a bounding box that is a version of bbox scaled by factor, i.e., bbox.max and bbox.min are multiplied by factor.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > | operator/ (const Bbox< T, DIM > &bbox, T divisor) | 
Returns a bounding box that is a version of bbox divided by divisor, i.e., bbox.max and bbox.min are divided by divisor.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > & | operator+= (Bbox< T, DIM > &bbox, T value) | 
Increases bbox by a constant value at each face, i.e., value is added to bbox.max and subtracted from bbox.min.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > & | operator-= (Bbox< T, DIM > &bbox, T value) | 
Shrinks bbox by a constant value at each face, i.e., value is subtracted from bbox.max and added to bbox.min.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > & | operator*= (Bbox< T, DIM > &bbox, T factor) | 
Scales bbox by factor, i.e., bbox.max and bbox.min are multiplied by factor.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > & | operator/= (Bbox< T, DIM > &bbox, T divisor) | 
Divide bbox by divisor, i.e., bbox.max and bbox.min are divided by divisor.  More... | 
|
| template<typename T , Size DIM> | |
| bool | operator== (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) | 
Returns true if lhs is elementwise equal to rhs.  More... | 
|
| template<typename T , Size DIM> | |
| bool | operator!= (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) | 
Returns true if lhs is elementwise not equal to rhs.  More... | 
|
| template<typename T , Size DIM> | |
| bool | operator< (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) | 
Returns true if lhs is lexicographically less than rhs.  More... | 
|
| template<typename T , Size DIM> | |
| bool | operator<= (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) | 
Returns true if lhs is lexicographically less than or equal to rhs.  More... | 
|
| template<typename T , Size DIM> | |
| bool | operator> (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) | 
Returns true if lhs is lexicographically greater than rhs.  More... | 
|
| template<typename T , Size DIM> | |
| bool | operator>= (const Bbox< T, DIM > &lhs, const Bbox< T, DIM > &rhs) | 
Returns true if lhs is lexicographically greater than or equal to rhs.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > | lerp (const Bbox< T, DIM > &bbox1, const Bbox< T, DIM > &bbox2, T t) | 
Returns the linear interpolation between bbox1 and bbox2, i.e., it returns (1-t) * bbox1 + t * bbox2.  More... | 
|
| template<typename T , Size DIM> | |
| Bbox< T, DIM > | clip (const Bbox< T, DIM > &bbox1, const Bbox< T, DIM > &bbox2) | 
Clip bbox1 at bbox2 and return the result.  More... | 
|
| template<typename TT , typename T > | |
| Bbox< T, 3 > | transform_point (const Matrix< TT, 4, 4 > &mat, const Bbox< T, 3 > &bbox) | 
| Returns the 3D bounding box transformed by a matrix.  More... | 
|
| template<typename TT , typename T > | |
| Bbox< T, 3 > | transform_vector (const Matrix< TT, 4, 4 > &mat, const Bbox< T, 3 > &bbox) | 
| Returns the 3D bounding box transformed by a matrix.  More... | 
|
| bool | operator== (const Color &lhs, const Color &rhs) | 
Returns true if lhs is elementwise equal to rhs.  More... | 
|
| bool | operator!= (const Color &lhs, const Color &rhs) | 
Returns true if lhs is elementwise not equal to rhs.  More... | 
|
| bool | operator< (const Color &lhs, const Color &rhs) | 
Returns true if lhs is lexicographically less than rhs.  More... | 
|
| bool | operator<= (const Color &lhs, const Color &rhs) | 
Returns true if lhs is lexicographically less than or equal to rhs.  More... | 
|
| bool | operator> (const Color &lhs, const Color &rhs) | 
Returns true if lhs is lexicographically greater than rhs.  More... | 
|
| bool | operator>= (const Color &lhs, const Color &rhs) | 
Returns true if lhs is lexicographically greater than or equal to rhs.  More... | 
|
| Color & | operator+= (Color &lhs, const Color &rhs) | 
Adds rhs elementwise to lhs and returns the modified lhs.  More... | 
|
| Color & | operator-= (Color &lhs, const Color &rhs) | 
Subtracts rhs elementwise from lhs and returns the modified lhs.  More... | 
|
| Color & | operator*= (Color &lhs, const Color &rhs) | 
Multiplies rhs elementwise with lhs and returns the modified lhs.  More... | 
|
| Color & | operator/= (Color &lhs, const Color &rhs) | 
Divides lhs elementwise by rhs and returns the modified lhs.  More... | 
|
| Color | operator+ (const Color &lhs, const Color &rhs) | 
Adds lhs and rhs elementwise and returns the new result.  More... | 
|
| Color | operator- (const Color &lhs, const Color &rhs) | 
Subtracts rhs elementwise from lhs and returns the new result.  More... | 
|
| Color | operator* (const Color &lhs, const Color &rhs) | 
Multiplies rhs elementwise with lhs and returns the new result.  More... | 
|
| Color | operator/ (const Color &lhs, const Color &rhs) | 
Divides rhs elementwise by lhs and returns the new result.  More... | 
|
| Color | operator- (const Color &c) | 
Negates the color c elementwise and returns the new result.  More... | 
|
| Color & | operator*= (Color &c, Float32 s) | 
Multiplies the color c elementwise with the scalar s and returns the modified color c.  More... | 
|
| Color & | operator/= (Color &c, Float32 s) | 
Divides the color c elementwise by the scalar s and returns the modified color c.  More... | 
|
| Color | operator* (const Color &c, Float32 s) | 
Multiplies the color c elementwise with the scalar s and returns the new result.  More... | 
|
| Color | operator* (Float32 s, const Color &c) | 
Multiplies the color c elementwise with the scalar s and returns the new result.  More... | 
|
| Color | operator/ (const Color &c, Float32 s) | 
Divides the color c elementwise by the scalar s and returns the new result.  More... | 
|
| Color | abs (const Color &c) | 
Returns a color with the elementwise absolute values of the color c.  More... | 
|
| Color | acos (const Color &c) | 
Returns a color with the elementwise arc cosine of the color c.  More... | 
|
| bool | all (const Color &c) | 
Returns true if all elements of c are not equal to zero.  More... | 
|
| bool | any (const Color &c) | 
Returns true if any element of c is not equal to zero.  More... | 
|
| Color | asin (const Color &c) | 
Returns a color with the elementwise arc sine of the color c.  More... | 
|
| Color | atan (const Color &c) | 
Returns a color with the elementwise arc tangent of the color c.  More... | 
|
| Color | atan2 (const Color &c, const Color &d) | 
Returns a color with the elementwise arc tangent of the color c / d.  More... | 
|
| Color | ceil (const Color &c) | 
Returns a color with the elementwise smallest integral value that is not less than the element in color c.  More... | 
|
| Color | clamp (const Color &c, const Color &low, const Color &high) | 
Returns the color c elementwise clamped to the range [low, high].  More... | 
|
| Color | clamp (const Color &c, const Color &low, Float32 high) | 
Returns the color c elementwise clamped to the range [low, high].  More... | 
|
| Color | clamp (const Color &c, Float32 low, const Color &high) | 
Returns the color c elementwise clamped to the range [low, high].  More... | 
|
| Color | clamp (const Color &c, Float32 low, Float32 high) | 
Returns the color c elementwise clamped to the range [low, high].  More... | 
|
| Color | cos (const Color &c) | 
Returns a color with the elementwise cosine of the color c.  More... | 
|
| Color | degrees (const Color &c) | 
Converts elementwise radians in c to degrees.  More... | 
|
| Color | elementwise_max (const Color &lhs, const Color &rhs) | 
Returns elementwise max for each element in color lhs that is less than the corresponding element in color rhs.  More... | 
|
| Color | elementwise_min (const Color &lhs, const Color &rhs) | 
Returns elementwise min for each element in color lhs that is less than the corresponding element in color rhs.  More... | 
|
| Color | exp (const Color &c) | 
Returns a color with elementwise e to the power of the element in the color c.  More... | 
|
| Color | exp2 (const Color &c) | 
Returns a color with elementwise 2 to the power of the element in the color c.  More... | 
|
| Color | floor (const Color &c) | 
Returns a color with the elementwise largest integral value that is not greater than the element in color c.  More... | 
|
| Color | fmod (const Color &a, const Color &b) | 
Returns elementwise a modulo b, in other words, the remainder of a/b.  More... | 
|
| Color | fmod (const Color &a, Float32 b) | 
Returns elementwise a modulo b, in other words, the remainder of a/b.  More... | 
|
| Color | frac (const Color &c) | 
Returns a color with the elementwise positive fractional part of the color c.  More... | 
|
| Color | gamma_correction (const Color &color, Float32 gamma_factor) | 
| Returns a gamma corrected color.  More... | 
|
| bool | is_approx_equal (const Color &lhs, const Color &rhs, Float32 e) | 
| Compares the two given values elementwise for equality within the given epsilon.  More... | 
|
| Color | lerp (const Color &c1, const Color &c2, const Color &t) | 
Returns the elementwise linear interpolation between c1 and c2, i.e., it returns (1-t) * c1 + t * c2.  More... | 
|
| Color | lerp (const Color &c1, const Color &c2, Float32 t) | 
Returns the linear interpolation between c1 and c2, i.e., it returns (1-t) * c1 + t * c2.  More... | 
|
| Color | log (const Color &c) | 
Returns a color with elementwise natural logarithm of the color c.  More... | 
|
| Color | log2 (const Color &c) | 
Returns a color with elementwise base 2 logarithm of the color c.  More... | 
|
| Color | log10 (const Color &c) | 
Returns a color with elementwise base 10 logarithm of the color c.  More... | 
|
| Color | modf (const Color &c, Color &i) | 
Returns the elementwise fractional part of c and stores the elementwise integral part of c in i.  More... | 
|
| Color | pow (const Color &a, const Color &b) | 
Returns the color a elementwise to the power of b.  More... | 
|
| Color | pow (const Color &a, Float32 b) | 
Returns the color a elementwise to the power of b.  More... | 
|
| Color | radians (const Color &c) | 
Converts elementwise degrees in c to radians.  More... | 
|
| Color | round (const Color &c) | 
Returns a color with the elements of color c rounded to nearest integers.  More... | 
|
| Color | rsqrt (const Color &c) | 
Returns the reciprocal of the square root of each element of c.  More... | 
|
| Color | saturate (const Color &c) | 
Returns the color c clamped elementwise to the range [0,1].  More... | 
|
| Color | sign (const Color &c) | 
Returns the elementwise sign of color c.  More... | 
|
| Color | sin (const Color &c) | 
Returns a color with the elementwise sine of the color c.  More... | 
|
| void | sincos (const Color &a, Color &s, Color &c) | 
Computes elementwise the sine s and cosine c of angles a simultaneously.  More... | 
|
| Color | smoothstep (const Color &a, const Color &b, const Color &c) | 
Returns 0 if c is less than a and 1 if c is greater than b in an elementwise fashion.  More... | 
|
| Color | smoothstep (const Color &a, const Color &b, Float32 x) | 
Returns 0 if c is less than a and 1 if c is greater than b in an elementwise fashion.  More... | 
|
| Color | sqrt (const Color &c) | 
Returns the square root of each element of c.  More... | 
|
| Color | step (const Color &a, const Color &c) | 
Returns elementwise 0 if c is less than a and 1 otherwise.  More... | 
|
| Color | tan (const Color &c) | 
Returns a color with the elementwise tangent of the color c.  More... | 
|
| bool | isfinite (const Color &c) | 
| Indicates whether all components of the color are finite.  More... | 
|
| bool | isinfinite (const Color &c) | 
| Indicates whether any component of the color is infinite.  More... | 
|
| bool | isnan (const Color &c) | 
| Indicates whether any component of the color is "not a number".  More... | 
|
| void | to_rgbe (const Color &color, Uint32 &rgbe) | 
| Encodes a color into RGBE representation.  More... | 
|
| void | to_rgbe (const Color &color, Uint8 rgbe[4]) | 
| Encodes a color into RGBE representation.  More... | 
|
| void | from_rgbe (const Uint8 rgbe[4], Color &color) | 
| Decodes a color from RGBE representation.  More... | 
|
| void | from_rgbe (const Uint32 rgbe, Color &color) | 
| Decodes a color from RGBE representation.  More... | 
|
| Float32 | exp (Float32 s) | 
Returns the constant e to the power of s (exponential function).  More... | 
|
| Float64 | exp (Float64 s) | 
Returns the constant e to the power of s (exponential function).  More... | 
|
| Float32 | log (Float32 s) | 
Returns the natural logarithm of s.  More... | 
|
| Float64 | log (Float64 s) | 
Returns the natural logarithm of s.  More... | 
|
| Float32 | fast_sqrt (Float32 i) | 
| A fast implementation of sqrt(x) for floats.  More... | 
|
| Float32 | fast_exp (Float32 x) | 
| A fast implementation of exp for floats.  More... | 
|
| Float32 | fast_pow2 (Float32 x) | 
| A fast implementation of pow(2,x) for floats.  More... | 
|
| Float32 | fast_log2 (Float32 i) | 
| A fast implementation of log2(x) for floats.  More... | 
|
| Float32 | fast_pow (Float32 b, Float32 e) | 
| A fast implementation of pow(x,y) for floats.  More... | 
|
| Float32 | acos (Float32 s) | 
Returns the arc cosine of s in radians.  More... | 
|
| Float64 | acos (Float64 s) | 
Returns the arc cosine of s in radians.  More... | 
|
| bool | all (Uint8 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Uint16 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Uint32 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Uint64 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Sint8 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Sint16 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Sint32 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Sint64 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Float32 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | all (Float64 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Uint8 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Uint16 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Uint32 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Uint64 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Sint8 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Sint16 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Sint32 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Sint64 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Float32 v) | 
Returns true if v is not equal to zero.  More... | 
|
| bool | any (Float64 v) | 
Returns true if v is not equal to zero.  More... | 
|
| Float32 | asin (Float32 s) | 
Returns the arc sine of s in radians.  More... | 
|
| Float64 | asin (Float64 s) | 
Returns the arc sine of s in radians.  More... | 
|
| Float32 | atan (Float32 s) | 
Returns the arc tangent of s.  More... | 
|
| Float64 | atan (Float64 s) | 
Returns the arc tangent of s.  More... | 
|
| Float32 | atan2 (Float32 s, Float32 t) | 
Returns the arc tangent of s / t.  More... | 
|
| Float64 | atan2 (Float64 s, Float64 t) | 
Returns the arc tangent of s / t.  More... | 
|
| Float32 | ceil (Float32 s) | 
Returns the smallest integral value that is not less than s.  More... | 
|
| Float64 | ceil (Float64 s) | 
Returns the smallest integral value that is not less than s.  More... | 
|
| Uint8 | clamp (Uint8 s, Uint8 low, Uint8 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Uint16 | clamp (Uint16 s, Uint16 low, Uint16 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Uint32 | clamp (Uint32 s, Uint32 low, Uint32 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Uint64 | clamp (Uint64 s, Uint64 low, Uint64 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Sint8 | clamp (Sint8 s, Sint8 low, Sint8 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Sint16 | clamp (Sint16 s, Sint16 low, Sint16 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Sint32 | clamp (Sint32 s, Sint32 low, Sint32 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Sint64 | clamp (Sint64 s, Sint64 low, Sint64 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Float32 | clamp (Float32 s, Float32 low, Float32 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Float64 | clamp (Float64 s, Float64 low, Float64 high) | 
Returns the value s if it is in the range [low, high], the value low if s < low, or the value high if s > high.  More... | 
|
| Float32 | cos (Float32 a) | 
Returns the cosine of a. The angle a is specified in radians.  More... | 
|
| Float64 | cos (Float64 a) | 
Returns the cosine of a. The angle a is specified in radians.  More... | 
|
| Float32 | degrees (Float32 r) | 
Converts radians r to degrees.  More... | 
|
| Float64 | degrees (Float64 r) | 
Converts radians r to degrees.  More... | 
|
| Float32 | exp2 (Float32 s) | 
Returns the constant 2 to the power of s (exponential function).  More... | 
|
| Float64 | exp2 (Float64 s) | 
Returns the constant 2 to the power of s (exponential function).  More... | 
|
| Float32 | floor (Float32 s) | 
Returns the largest integral value that is not greater than s.  More... | 
|
| Float64 | floor (Float64 s) | 
Returns the largest integral value that is not greater than s.  More... | 
|
| Float32 | fmod (Float32 a, Float32 b) | 
Returns a modulo b, in other words, the remainder of a/b.  More... | 
|
| Float64 | fmod (Float64 a, Float64 b) | 
Returns a modulo b, in other words, the remainder of a/b.  More... | 
|
| Float32 | frac (Float32 s) | 
Returns the positive fractional part of s.  More... | 
|
| Float64 | frac (Float64 s) | 
Returns the positive fractional part of s.  More... | 
|
| bool | is_approx_equal (Float32 left, Float32 right, Float32 e) | 
| Compares the two given values for equality within the given epsilon.  More... | 
|
| bool | is_approx_equal (Float64 left, Float64 right, Float64 e) | 
| Compares the two given values for equality within the given epsilon.  More... | 
|
| Float32 | log2 (Float32 s) | 
Returns the base 2 logarithm of s.  More... | 
|
| Float64 | log2 (Float64 s) | 
Returns the base 2 logarithm of s.  More... | 
|
| Float32 | log10 (Float32 s) | 
Returns the base 10 logarithm of s.  More... | 
|
| Float64 | log10 (Float64 s) | 
Returns the base 10 logarithm of s.  More... | 
|
| Float32 | lerp (Float32 s1, Float32 s2, Float32 t) | 
Returns the linear interpolation between s1 and s2, i.e., it returns (1-t) * s1 + t * s2.  More... | 
|
| Float64 | lerp (Float64 s1, Float64 s2, Float64 t) | 
Returns the linear interpolation between s1 and s2, i.e., it returns (1-t) * s1 + t * s2.  More... | 
|
| Float32 | modf (Float32 s, Float32 &i) | 
Returns the fractional part of s and stores the integral part of s in i.  More... | 
|
| Float64 | modf (Float64 s, Float64 &i) | 
Returns the fractional part of s and stores the integral part of s in i.  More... | 
|
| Uint32 | pow (Uint32 a, Uint32 b) | 
Returns a to the power of b.  More... | 
|
| Uint64 | pow (Uint64 a, Uint64 b) | 
Returns a to the power of b.  More... | 
|
| Sint32 | pow (Sint32 a, Sint32 b) | 
Returns a to the power of b.  More... | 
|
| Sint64 | pow (Sint64 a, Sint64 b) | 
Returns a to the power of b.  More... | 
|
| Float32 | pow (Float32 a, Float32 b) | 
Returns a to the power of b.  More... | 
|
| Float64 | pow (Float64 a, Float64 b) | 
Returns a to the power of b.  More... | 
|
| Float32 | radians (Float32 d) | 
Converts degrees d to radians.  More... | 
|
| Float64 | radians (Float64 d) | 
Converts degrees d to radians.  More... | 
|
| Float32 | round (Float32 s) | 
Returns s rounded to the nearest integer value.  More... | 
|
| Float64 | round (Float64 s) | 
Returns s rounded to the nearest integer value.  More... | 
|
| Float32 | rsqrt (Float32 s) | 
Returns the reciprocal of the square root of s.  More... | 
|
| Float64 | rsqrt (Float64 s) | 
Returns the reciprocal of the square root of s.  More... | 
|
| Float32 | saturate (Float32 s) | 
Returns the value s clamped to the range [0,1].  More... | 
|
| Float64 | saturate (Float64 s) | 
Returns the value s clamped to the range [0,1].  More... | 
|
| Sint8 | sign (Sint8 s) | 
Returns -1 if s<0, 0 if s==0, and +1 if s>0.  More... | 
|
| Sint16 | sign (Sint16 s) | 
Returns -1 if s<0, 0 if s==0, and +1 if s>0.  More... | 
|
| Sint32 | sign (Sint32 s) | 
Returns -1 if s<0, 0 if s==0, and +1 if s>0.  More... | 
|
| Sint64 | sign (Sint64 s) | 
Returns -1 if s<0, 0 if s==0, and +1 if s>0.  More... | 
|
| Float32 | sign (Float32 s) | 
Returns -1 if s<0, 0 if s==0, and +1 if s>0.  More... | 
|
| Float64 | sign (Float64 s) | 
Returns -1 if s<0, 0 if s==0, and +1 if s>0.  More... | 
|
| bool | sign_bit (Sint8 s) | 
Returns true if s<0 and false if s>= 0.  More... | 
|
| bool | sign_bit (Sint16 s) | 
Returns true if s<0 and false if s>= 0.  More... | 
|
| bool | sign_bit (Sint32 s) | 
Returns true if s<0 and false if s>= 0.  More... | 
|
| bool | sign_bit (Sint64 s) | 
Returns true if s<0 and false if s>= 0.  More... | 
|
| bool | sign_bit (Float32 s) | 
| Extracts the sign bit of a single-precision floating point number.  More... | 
|
| bool | sign_bit (Float64 s) | 
| Extracts the sign bit of a double-precision floating point number.  More... | 
|
| bool | isnan (const Float32 x) | 
| Checks a single-precision floating point number for "not a number".  More... | 
|
| bool | isnan (const Float64 x) | 
| Checks a double-precision floating point number for "not a number".  More... | 
|
| bool | isinfinite (const Float32 x) | 
| Checks a single-precision floating point number for "infinity".  More... | 
|
| bool | isinfinite (const Float64 x) | 
| Checks a double-precision floating point number for "infinity".  More... | 
|
| bool | isfinite (const Float32 x) | 
| Checks a single-precision floating point number for neither "not a number" nor "infinity".  More... | 
|
| bool | isfinite (const Float64 x) | 
| Checks a double-precision floating point number for neither "not a number" nor "infinity".  More... | 
|
| Float32 | sin (Float32 a) | 
Returns the sine of a. The angle a is specified in radians.  More... | 
|
| Float64 | sin (Float64 a) | 
Returns the sine of a. The angle a is specified in radians.  More... | 
|
| void | sincos (Float32 a, Float32 &s, Float32 &c) | 
Computes the sine s and cosine c of angle a simultaneously.  More... | 
|
| void | sincos (Float64 a, Float64 &s, Float64 &c) | 
Computes the sine s and cosine c of angle a simultaneously.  More... | 
|
| Float32 | smoothstep (Float32 a, Float32 b, Float32 x) | 
Returns 0 if x is less than a and 1 if x is greater than b.  More... | 
|
| Float64 | smoothstep (Float64 a, Float64 b, Float64 x) | 
Returns 0 if x is less than a and 1 if x is greater than b.  More... | 
|
| Float32 | sqrt (Float32 s) | 
Returns the square root of s.  More... | 
|
| Float64 | sqrt (Float64 s) | 
Returns the square root of s.  More... | 
|
| Float32 | step (Float32 a, Float32 x) | 
Returns 0 if x is less than a and 1 otherwise.  More... | 
|
| Float64 | step (Float64 a, Float64 x) | 
Returns 0 if x is less than a and 1 otherwise.  More... | 
|
| Float32 | tan (Float32 a) | 
Returns the tangent of a. The angle a is specified in radians.  More... | 
|
| Float64 | tan (Float64 a) | 
Returns the tangent of a. The angle a is specified in radians.  More... | 
|
| void | to_rgbe (const Float32 color[3], Uint32 &rgbe) | 
| Encodes a color into RGBE representation.  More... | 
|
| void | to_rgbe (const Float32 color[3], Uint8 rgbe[4]) | 
| Encodes a color into RGBE representation.  More... | 
|
| void | from_rgbe (const Uint8 rgbe[4], Float32 color[3]) | 
| Decodes a color from RGBE representation.  More... | 
|
| void | from_rgbe (const Uint32 rgbe, Float32 color[3]) | 
| Decodes a color from RGBE representation.  More... | 
|
| Sint32 | dot (Sint32 a, Sint32 b) | 
| Returns the inner product (a.k.a. dot or scalar product) of two integers.  More... | 
|
| Float32 | dot (Float32 a, Float32 b) | 
| Returns the inner product (a.k.a. dot or scalar product) of two scalars.  More... | 
|
| Float64 | dot (Float64 a, Float64 b) | 
| Returns the inner product (a.k.a. dot or scalar product) of two scalars.  More... | 
|
| template<class V > | |
| V::value_type | dot (const V &lhs, const V &rhs) | 
| Returns the inner product (a.k.a. dot or scalar product) of two vectors.  More... | 
|
| template<class V > | |
| V::value_type | square_length (const V &v) | 
Returns the squared Euclidean norm of the vector v.  More... | 
|
| Float32 | length (Float32 a) | 
Returns the Euclidean norm of the scalar a (its absolute value).  More... | 
|
| Float64 | length (Float64 a) | 
Returns the Euclidean norm of the scalar a (its absolute value).  More... | 
|
| template<class V > | |
| V::value_type | length (const V &v) | 
Returns the Euclidean norm of the vector v.  More... | 
|
| template<class V > | |
| V::value_type | square_euclidean_distance (const V &lhs, const V &rhs) | 
Returns the squared Euclidean distance from the vector lhs to the vector rhs.  More... | 
|
| template<class V > | |
| V::value_type | euclidean_distance (const V &lhs, const V &rhs) | 
Returns the Euclidean distance from the vector lhs to the vector rhs.  More... | 
|
| template<class V > | |
| void | set_bounds (V &v, const V &low, const V &high) | 
Bounds the value of vector v elementwise to the given low and high vector values.  More... | 
|
| template<class V > | |
| bool | is_equal (const V &lhs, const V &rhs) | 
Returns true if vector lhs is elementwise equal to vector rhs, and false otherwise.  More... | 
|
| template<class V > | |
| bool | is_not_equal (const V &lhs, const V &rhs) | 
Returns true if vector lhs is elementwise not equal to vector rhs, and false otherwise.  More... | 
|
| template<class V > | |
| bool | lexicographically_less (const V &lhs, const V &rhs) | 
Returns true if vector lhs is lexicographically less than vector rhs, and false otherwise.  More... | 
|
| template<class V > | |
| bool | lexicographically_less_or_equal (const V &lhs, const V &rhs) | 
Returns true if vector lhs is lexicographically less than or equal to vector rhs, and false otherwise.  More... | 
|
| template<class V > | |
| bool | lexicographically_greater (const V &lhs, const V &rhs) | 
Returns true if vector lhs is lexicographically greater than vector rhs, and false otherwise.  More... | 
|
| template<class V > | |
| bool | lexicographically_greater_or_equal (const V &lhs, const V &rhs) | 
Returns true if vector lhs is lexicographically greater than or equal to vector rhs, and false otherwise.  More... | 
|
| template<class V > | |
| Comparison_result | lexicographically_compare (const V &lhs, const V &rhs) | 
| Compares two vectors lexicographically.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| T * | matrix_base_ptr (Matrix_struct< T, ROW, COL > &mat) | 
| Returns the base pointer to the matrix data.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| const T * | matrix_base_ptr (const Matrix_struct< T, ROW, COL > &mat) | 
| Returns the base pointer to the matrix data.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| bool | operator== (const Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Returns true if lhs is elementwise equal to rhs.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| bool | operator!= (const Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Returns true if lhs is elementwise not equal to rhs.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| bool | operator< (const Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Returns true if lhs is lexicographically less than rhs.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| bool | operator<= (const Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Returns true if lhs is lexicographically less than or equal to rhs.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| bool | operator> (const Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Returns true if lhs is lexicographically greater than rhs.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| bool | operator>= (const Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Returns true if lhs is lexicographically greater than or equal to rhs.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > & | operator+= (Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Adds rhs elementwise to lhs and returns the modified lhs.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > & | operator-= (Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Subtracts rhs elementwise from lhs and returns the modified lhs.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > | operator+ (const Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Adds lhs and rhs elementwise and returns the new result.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > | operator- (const Matrix< T, ROW, COL > &lhs, const Matrix< T, ROW, COL > &rhs) | 
Subtracts rhs elementwise from lhs and returns the new result.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > | operator- (const Matrix< T, ROW, COL > &mat) | 
Negates the matrix mat elementwise and returns the new result.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > & | operator*= (Matrix< T, ROW, COL > &lhs, const Matrix< T, COL, COL > &rhs) | 
Performs matrix multiplication, lhs times rhs, assigns it to lhs, and returns the modified lhs.  More... | 
|
| template<typename T , Size ROW1, Size COL1, Size ROW2, Size COL2> | |
| Matrix< T, ROW1, COL2 > | operator* (const Matrix< T, ROW1, COL1 > &lhs, const Matrix< T, ROW2, COL2 > &rhs) | 
Performs matrix multiplication, lhs times rhs, and returns the new result.  More... | 
|
| template<typename T , Size ROW, Size COL, Size DIM> | |
| Vector< T, ROW > | operator* (const Matrix< T, ROW, COL > &mat, const Vector< T, DIM > &vec) | 
Multiplies the (column) vector vec from the right with the matrix mat and returns the resulting vector.  More... | 
|
| template<Size DIM, typename T , Size ROW, Size COL> | |
| Vector< T, COL > | operator* (const Vector< T, DIM > &vec, const Matrix< T, ROW, COL > &mat) | 
Multiplies the (row) vector vec from the left with the matrix mat and returns the resulting vector.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > & | operator*= (Matrix< T, ROW, COL > &mat, T factor) | 
Multiplies the matrix mat elementwise with the scalar factor and returns the modified matrix mat.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > | operator* (const Matrix< T, ROW, COL > &mat, T factor) | 
Multiplies the matrix mat elementwise with the scalar factor and returns the new result.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, ROW, COL > | operator* (T factor, const Matrix< T, ROW, COL > &mat) | 
Multiplies the matrix mat elementwise with the scalar factor and returns the new result.  More... | 
|
| template<Size NEW_ROW, Size NEW_COL, typename T , Size ROW, Size COL> | |
| Matrix< T, NEW_ROW, NEW_COL > | sub_matrix (const Matrix< T, ROW, COL > &mat) | 
Returns the upper-left sub-matrix of size NEW_ROW times NEW_COL.  More... | 
|
| template<typename T , Size ROW, Size COL> | |
| Matrix< T, COL, ROW > | transpose (const Matrix< T, ROW, COL > &mat) | 
Returns the transpose of the matrix mat by exchanging rows and columns.  More... | 
|
| template<typename T , typename U > | |
| U | transform_point (const Matrix< T, 4, 4 > &mat, const U &point) | 
Returns a transformed 1D point by applying the full transformation in the 4x4 matrix mat on the 1D point point, which includes the translation.  More... | 
|
| template<typename T , typename U > | |
| Vector< U, 2 > | transform_point (const Matrix< T, 4, 4 > &mat, const Vector< U, 2 > &point) | 
Returns a transformed 2D point by applying the full transformation in the 4x4 matrix mat on the 2D point point, which includes the translation.  More... | 
|
| template<typename T , typename U > | |
| Vector< U, 3 > | transform_point (const Matrix< T, 4, 4 > &mat, const Vector< U, 3 > &point) | 
Returns a transformed 3D point by applying the full transformation in the 4x4 matrix mat on the 3D point point, which includes the translation.  More... | 
|
| template<typename T , typename U > | |
| Vector< U, 4 > | transform_point (const Matrix< T, 4, 4 > &mat, const Vector< U, 4 > &point) | 
Returns a transformed 4D point by applying the full transformation in the 4x4 matrix mat on the 4D point point, which includes the translation.  More... | 
|
| template<typename T , typename U > | |
| U | transform_vector (const Matrix< T, 4, 4 > &mat, const U &vector) | 
Returns a transformed 1D vector by applying the 1x1 linear sub-transformation in the 4x4 matrix mat on the 1D vector vector, which excludes the translation.  More... | 
|
| template<typename T , typename U > | |
| Vector< U, 2 > | transform_vector (const Matrix< T, 4, 4 > &mat, const Vector< U, 2 > &vector) | 
Returns a transformed 2D vector by applying the 2x2 linear sub-transformation in the 4x4 matrix mat on the 2D vector vector, which excludes the translation.  More... | 
|
| template<typename T , typename U > | |
| Vector< U, 3 > | transform_vector (const Matrix< T, 4, 4 > &mat, const Vector< U, 3 > &vector) | 
Returns a transformed 3D vector by applying the 3x3 linear sub-transformation in the 4x4 matrix mat on the 3D vector vector, which excludes the translation.  More... | 
|
| template<typename T , typename U > | |
| Vector< U, 3 > | transform_normal_inv (const Matrix< T, 4, 4 > &inv_mat, const Vector< U, 3 > &normal) | 
Returns an inverse transformed 3D normal vector by applying the 3x3 transposed linear sub-transformation in the 4x4 matrix inv_mat on the 3D normal vector normal.  More... | 
|
| template<typename T , typename U > | |
| Vector< U, 3 > | transform_normal (const Matrix< T, 4, 4 > &mat, const Vector< U, 3 > &normal) | 
Returns a transformed 3D normal vector by applying the 3x3 transposed linear sub-transformation in the inverse of the 4x4 matrix mat on the 3D normal vector normal.  More... | 
|
| bool | operator== (const Spectrum &lhs, const Spectrum &rhs) | 
Returns true if lhs is elementwise equal to rhs.  More... | 
|
| bool | operator!= (const Spectrum &lhs, const Spectrum &rhs) | 
Returns true if lhs is elementwise not equal to rhs.  More... | 
|
| bool | operator< (const Spectrum &lhs, const Spectrum &rhs) | 
Returns true if lhs is lexicographically less than rhs.  More... | 
|
| bool | operator<= (const Spectrum &lhs, const Spectrum &rhs) | 
Returns true if lhs is lexicographically less than or equal to rhs.  More... | 
|
| bool | operator> (const Spectrum &lhs, const Spectrum &rhs) | 
Returns true if lhs is lexicographically greater than rhs.  More... | 
|
| bool | operator>= (const Spectrum &lhs, const Spectrum &rhs) | 
Returns true if lhs is lexicographically greater than or equal to rhs.  More... | 
|
| Spectrum & | operator+= (Spectrum &lhs, const Spectrum &rhs) | 
Adds rhs elementwise to lhs and returns the modified lhs.  More... | 
|
| Spectrum & | operator-= (Spectrum &lhs, const Spectrum &rhs) | 
Subtracts rhs elementwise from lhs and returns the modified lhs.  More... | 
|
| Spectrum & | operator*= (Spectrum &lhs, const Spectrum &rhs) | 
Multiplies rhs elementwise with lhs and returns the modified lhs.  More... | 
|
| Spectrum & | operator/= (Spectrum &lhs, const Spectrum &rhs) | 
Divides lhs elementwise by rhs and returns the modified lhs.  More... | 
|
| Spectrum | operator+ (const Spectrum &lhs, const Spectrum &rhs) | 
Adds lhs and rhs elementwise and returns the new result.  More... | 
|
| Spectrum | operator- (const Spectrum &lhs, const Spectrum &rhs) | 
Subtracts rhs elementwise from lhs and returns the new result.  More... | 
|
| Spectrum | operator* (const Spectrum &lhs, const Spectrum &rhs) | 
Multiplies rhs elementwise with lhs and returns the new result.  More... | 
|
| Spectrum | operator/ (const Spectrum &lhs, const Spectrum &rhs) | 
Divides rhs elementwise by lhs and returns the new result.  More... | 
|
| Spectrum | operator- (const Spectrum &c) | 
Negates the spectrum c elementwise and returns the new result.  More... | 
|
| Spectrum & | operator*= (Spectrum &c, Float32 s) | 
Multiplies the spectrum c elementwise with the scalar s and returns the modified spectrum c.  More... | 
|
| Spectrum & | operator/= (Spectrum &c, Float32 s) | 
Divides the spectrum c elementwise by the scalar s and returns the modified spectrum c.  More... | 
|
| Spectrum | operator* (const Spectrum &c, Float32 s) | 
Multiplies the spectrum c elementwise with the scalar s and returns the new result.  More... | 
|
| Spectrum | operator* (Float32 s, const Spectrum &c) | 
Multiplies the spectrum c elementwise with the scalar s and returns the new result.  More... | 
|
| Spectrum | operator/ (const Spectrum &c, Float32 s) | 
Divides the spectrum c elementwise by the scalar s and returns the new result.  More... | 
|
| Spectrum | abs (const Spectrum &c) | 
Returns a spectrum with the elementwise absolute values of the spectrum c.  More... | 
|
| Spectrum | acos (const Spectrum &c) | 
Returns a spectrum with the elementwise arc cosine of the spectrum c.  More... | 
|
| bool | all (const Spectrum &c) | 
Returns true if all elements of c are not equal to zero.  More... | 
|
| bool | any (const Spectrum &c) | 
Returns true if any element of c is not equal to zero.  More... | 
|
| Spectrum | asin (const Spectrum &c) | 
Returns a spectrum with the elementwise arc sine of the spectrum c.  More... | 
|
| Spectrum | atan (const Spectrum &c) | 
Returns a spectrum with the elementwise arc tangent of the spectrum c.  More... | 
|
| Spectrum | atan2 (const Spectrum &c, const Spectrum &d) | 
Returns a spectrum with the elementwise arc tangent of the spectrum c / d.  More... | 
|
| Spectrum | ceil (const Spectrum &c) | 
Returns a spectrum with the elementwise smallest integral value that is not less than the element in spectrum c.  More... | 
|
| Spectrum | clamp (const Spectrum &c, const Spectrum &low, const Spectrum &high) | 
Returns the spectrum c elementwise clamped to the range [low, high].  More... | 
|
| Spectrum | clamp (const Spectrum &c, const Spectrum &low, Float32 high) | 
Returns the spectrum c elementwise clamped to the range [low, high].  More... | 
|
| Spectrum | clamp (const Spectrum &c, Float32 low, const Spectrum &high) | 
Returns the spectrum c elementwise clamped to the range [low, high].  More... | 
|
| Spectrum | clamp (const Spectrum &c, Float32 low, Float32 high) | 
Returns the spectrum c elementwise clamped to the range [low, high].  More... | 
|
| Spectrum | cos (const Spectrum &c) | 
Returns a spectrum with the elementwise cosine of the spectrum c.  More... | 
|
| Spectrum | degrees (const Spectrum &c) | 
Converts elementwise radians in c to degrees.  More... | 
|
| Spectrum | elementwise_max (const Spectrum &lhs, const Spectrum &rhs) | 
Returns elementwise max for each element in spectrum lhs that is less than the corresponding element in spectrum rhs.  More... | 
|
| Spectrum | elementwise_min (const Spectrum &lhs, const Spectrum &rhs) | 
Returns elementwise min for each element in spectrum lhs that is less than the corresponding element in spectrum rhs.  More... | 
|
| Spectrum | exp (const Spectrum &c) | 
Returns a spectrum with elementwise e to the power of the element in the spectrum c.  More... | 
|
| Spectrum | exp2 (const Spectrum &c) | 
Returns a spectrum with elementwise 2 to the power of the element in the spectrum c.  More... | 
|
| Spectrum | floor (const Spectrum &c) | 
Returns a spectrum with the elementwise largest integral value that is not greater than the element in spectrum c.  More... | 
|
| Spectrum | fmod (const Spectrum &a, const Spectrum &b) | 
Returns elementwise a modulo b, in other words, the remainder of a/b.  More... | 
|
| Spectrum | fmod (const Spectrum &a, Float32 b) | 
Returns elementwise a modulo b, in other words, the remainder of a/b.  More... | 
|
| Spectrum | frac (const Spectrum &c) | 
Returns a spectrum with the elementwise positive fractional part of the spectrum c.  More... | 
|
| Spectrum | gamma_correction (const Spectrum &spectrum, Float32 gamma_factor) | 
| Returns a gamma corrected spectrum.  More... | 
|
| bool | is_approx_equal (const Spectrum &lhs, const Spectrum &rhs, Float32 e) | 
| Compares the two given values elementwise for equality within the given epsilon.  More... | 
|
| Spectrum | lerp (const Spectrum &c1, const Spectrum &c2, const Spectrum &t) | 
Returns the elementwise linear interpolation between c1 and c2, i.e., it returns (1-t) * c1 + t * c2.  More... | 
|
| Spectrum | lerp (const Spectrum &c1, const Spectrum &c2, Float32 t) | 
Returns the linear interpolation between c1 and c2, i.e., it returns (1-t) * c1 + t * c2.  More... | 
|
| Spectrum | log (const Spectrum &c) | 
Returns a spectrum with elementwise natural logarithm of the spectrum c.  More... | 
|
| Spectrum | log2 (const Spectrum &c) | 
Returns a spectrum with elementwise base 2 logarithm of the spectrum c.  More... | 
|
| Spectrum | log10 (const Spectrum &c) | 
Returns a spectrum with elementwise base 10 logarithm of the spectrum c.  More... | 
|
| Spectrum | modf (const Spectrum &c, Spectrum &i) | 
Returns the elementwise fractional part of c and stores the elementwise integral part of c in i.  More... | 
|
| Spectrum | pow (const Spectrum &a, const Spectrum &b) | 
Returns the spectrum a elementwise to the power of b.  More... | 
|
| Spectrum | pow (const Spectrum &a, Float32 b) | 
Returns the spectrum a elementwise to the power of b.  More... | 
|
| Spectrum | radians (const Spectrum &c) | 
Converts elementwise degrees in c to radians.  More... | 
|
| Spectrum | round (const Spectrum &c) | 
Returns a spectrum with the elements of spectrum c rounded to nearest integers.  More... | 
|
| Spectrum | rsqrt (const Spectrum &c) | 
Returns the reciprocal of the square root of each element of c.  More... | 
|
| Spectrum | saturate (const Spectrum &c) | 
Returns the spectrum c clamped elementwise to the range [0,1].  More... | 
|
| Spectrum | sign (const Spectrum &c) | 
Returns the elementwise sign of spectrum c.  More... | 
|
| Spectrum | sin (const Spectrum &c) | 
Returns a spectrum with the elementwise sine of the spectrum c.  More... | 
|
| void | sincos (const Spectrum &a, Spectrum &s, Spectrum &c) | 
Computes elementwise the sine s and cosine c of angles a simultaneously.  More... | 
|
| Spectrum | smoothstep (const Spectrum &a, const Spectrum &b, const Spectrum &c) | 
Returns 0 if c is less than a and 1 if c is greater than b in an elementwise fashion.  More... | 
|
| Spectrum | smoothstep (const Spectrum &a, const Spectrum &b, Float32 x) | 
Returns 0 if c is less than a and 1 if c is greater than b in an elementwise fashion.  More... | 
|
| Spectrum | sqrt (const Spectrum &c) | 
Returns the square root of each element of c.  More... | 
|
| Spectrum | step (const Spectrum &a, const Spectrum &c) | 
Returns elementwise 0 if c is less than a and 1 otherwise.  More... | 
|
| Spectrum | tan (const Spectrum &c) | 
Returns a spectrum with the elementwise tangent of the spectrum c.  More... | 
|
| bool | isfinite (const Spectrum &c) | 
| Indicates whether all components of the spectrum are finite.  More... | 
|
| bool | isinfinite (const Spectrum &c) | 
| Indicates whether any component of the spectrum is infinite.  More... | 
|
| bool | isnan (const Spectrum &c) | 
| Indicates whether any component of the spectrum is "not a number".  More... | 
|
| void | to_rgbe (const Spectrum &c, Uint32 &rgbe) | 
| Encodes a spectrum into RGBE representation.  More... | 
|
| void | to_rgbe (const Spectrum &c, Uint8 rgbe[4]) | 
| Encodes a spectrum into RGBE representation.  More... | 
|
| void | from_rgbe (const Uint8 rgbe[4], Spectrum &c) | 
| Decodes a color from RGBE representation.  More... | 
|
| void | from_rgbe (const Uint32 rgbe, Spectrum &c) | 
| Decodes a color from RGBE representation.  More... | 
|
| template<typename T , Size DIM> | |
| T * | vector_base_ptr (Vector_struct< T, DIM > &vec) | 
| Returns the base pointer to the vector data.  More... | 
|
| template<typename T , Size DIM> | |
| const T * | vector_base_ptr (const Vector_struct< T, DIM > &vec) | 
| Returns the base pointer to the vector data.  More... | 
|
| template<typename T > | |
| T * | vector_base_ptr (Vector_struct< T, 1 > &vec) | 
Returns the base pointer to the vector data, specialization for DIM==1.  More... | 
|
| template<typename T > | |
| const T * | vector_base_ptr (const Vector_struct< T, 1 > &vec) | 
Returns the base pointer to the vector data, specialization for DIM==1.  More... | 
|
| template<typename T > | |
| T * | vector_base_ptr (Vector_struct< T, 2 > &vec) | 
Returns the base pointer to the vector data, specialization for DIM==2.  More... | 
|
| template<typename T > | |
| const T * | vector_base_ptr (const Vector_struct< T, 2 > &vec) | 
Returns the base pointer to the vector data, specialization for DIM==2.  More... | 
|
| template<typename T > | |
| T * | vector_base_ptr (Vector_struct< T, 3 > &vec) | 
Returns the base pointer to the vector data, specialization for DIM==3.  More... | 
|
| template<typename T > | |
| const T * | vector_base_ptr (const Vector_struct< T, 3 > &vec) | 
Returns the base pointer to the vector data, specialization for DIM==3.  More... | 
|
| template<typename T > | |
| T * | vector_base_ptr (Vector_struct< T, 4 > &vec) | 
Returns the base pointer to the vector data, specialization for DIM==4.  More... | 
|
| template<typename T > | |
| const T * | vector_base_ptr (const Vector_struct< T, 4 > &vec) | 
Returns the base pointer to the vector data, specialization for DIM==4.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > & | operator+= (Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
Adds rhs elementwise to lhs and returns the modified lhs.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > & | operator-= (Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
Subtracts rhs elementwise from lhs and returns the modified lhs.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > & | operator*= (Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
Multiplies rhs elementwise with lhs and returns the modified lhs.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > & | operator%= (Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
Computes lhs modulo rhs elementwise and returns the modified lhs.  More... | 
|
| template<typename T , typename U , Size DIM> | |
| Vector< T, DIM > & | operator/= (Vector< T, DIM > &lhs, const Vector< U, DIM > &rhs) | 
Divides lhs elementwise by rhs and returns the modified lhs.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | operator+ (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
Adds lhs and rhs elementwise and returns the new result.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | operator- (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
Subtracts rhs elementwise from lhs and returns the new result.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | operator* (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
Multiplies rhs elementwise with lhs and returns the new result.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | operator% (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
Computes lhs modulo rhs elementwise and returns the new result.  More... | 
|
| template<typename T , typename U , Size DIM> | |
| Vector< T, DIM > | operator/ (const Vector< T, DIM > &lhs, const Vector< U, DIM > &rhs) | 
Divides rhs elementwise by lhs and returns the new result.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | operator- (const Vector< T, DIM > &v) | 
Negates the vector v elementwise and returns the new result.  More... | 
|
| template<typename T , typename TT , Size DIM> | |
| Vector< T, DIM > & | operator*= (Vector< T, DIM > &v, TT s) | 
Multiplies the vector v elementwise with the scalar s and returns the modified vector v.  More... | 
|
| template<typename T , typename TT , Size DIM> | |
| Vector< T, DIM > & | operator%= (Vector< T, DIM > &v, TT s) | 
Computes v modulo s elementwise and returns the modified vector v.  More... | 
|
| template<typename T , typename TT , Size DIM> | |
| Vector< T, DIM > & | operator/= (Vector< T, DIM > &v, TT s) | 
Divides the vector v elementwise by the scalar s and returns the modified vector v.  More... | 
|
| template<typename T , typename TT , Size DIM> | |
| Vector< T, DIM > | operator* (const Vector< T, DIM > &v, TT s) | 
Multiplies the vector v elementwise with the scalar s and returns the new result.  More... | 
|
| template<typename T , typename TT , Size DIM> | |
| Vector< T, DIM > | operator* (TT s, const Vector< T, DIM > &v) | 
Multiplies the vector v elementwise with the scalar s and returns the new result.  More... | 
|
| template<typename T , typename TT , Size DIM> | |
| Vector< T, DIM > | operator% (const Vector< T, DIM > &v, TT s) | 
Computes v modulo s elementwise and returns the new result.  More... | 
|
| template<typename T , typename TT , Size DIM> | |
| Vector< T, DIM > | operator/ (const Vector< T, DIM > &v, TT s) | 
Divides the vector v elementwise by the scalar s and returns the new result.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > & | operator++ (Vector< T, DIM > &vec) | 
Pre-increments all elements of vec and returns the result. Modifies vec.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > & | operator-- (Vector< T, DIM > &vec) | 
Pre-decrements all elements of vec and returns the result. Modifies vec.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator&& (const Vector< bool, DIM > &lhs, const Vector< bool, DIM > &rhs) | 
| Returns the elementwise logical and of two boolean vectors.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator&& (bool lhs, const Vector< bool, DIM > &rhs) | 
| Returns the elementwise logical and of a bool and a boolean vector.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator&& (const Vector< bool, DIM > &lhs, bool rhs) | 
| Returns the elementwise logical and of a boolean vector and a bool.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator|| (const Vector< bool, DIM > &lhs, const Vector< bool, DIM > &rhs) | 
| Returns the elementwise logical or of two boolean vectors.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator|| (bool lhs, const Vector< bool, DIM > &rhs) | 
| Returns the elementwise logical or of a bool and a boolean vector.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator|| (const Vector< bool, DIM > &lhs, bool rhs) | 
| Returns the elementwise logical or of a boolean vector and a bool.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator^ (const Vector< bool, DIM > &lhs, const Vector< bool, DIM > &rhs) | 
| Returns the elementwise logical xor of two boolean vectors.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator^ (bool lhs, const Vector< bool, DIM > &rhs) | 
| Returns the elementwise logical xor of a bool and a boolean vector.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator^ (const Vector< bool, DIM > &lhs, bool rhs) | 
| Returns the elementwise logical xor of a boolean vector and a bool.  More... | 
|
| template<Size DIM> | |
| Vector< bool, DIM > | operator! (const Vector< bool, DIM > &vec) | 
| Returns the elementwise logical not of a boolean vector.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< bool, DIM > | elementwise_is_equal (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
| Returns the boolean vector result of an elementwise equality comparison.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< bool, DIM > | elementwise_is_not_equal (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
| Returns the boolean vector result of an elementwise inequality comparison.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< bool, DIM > | elementwise_is_less_than (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
| Returns the boolean vector result of an elementwise less-than comparison.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< bool, DIM > | elementwise_is_less_than_or_equal (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
| Returns the boolean vector result of an elementwise less-than-or-equal comparison.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< bool, DIM > | elementwise_is_greater_than (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
| Returns the boolean vector result of an elementwise greater-than comparison.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< bool, DIM > | elementwise_is_greater_than_or_equal (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
| Returns the boolean vector result of an elementwise greater-than-or-equal comparison.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | abs (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise absolute values of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | acos (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise arc cosine of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| bool | all (const Vector< T, DIM > &v) | 
Returns true if all of all elements of v returns true.  More... | 
|
| template<typename T , Size DIM> | |
| bool | any (const Vector< T, DIM > &v) | 
Returns true if any of any element of v returns true.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | asin (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise arc sine of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | atan (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise arc tangent of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | atan2 (const Vector< T, DIM > &v, const Vector< T, DIM > &w) | 
Returns a vector with the elementwise arc tangent of the vector v / w.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | ceil (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise smallest integral value that is not less than the element in vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | clamp (const Vector< T, DIM > &v, const Vector< T, DIM > &low, const Vector< T, DIM > &high) | 
Returns the vector v elementwise clamped to the range [low, high].  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | clamp (const Vector< T, DIM > &v, const Vector< T, DIM > &low, T high) | 
Returns the vector v elementwise clamped to the range [low, high].  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | clamp (const Vector< T, DIM > &v, T low, const Vector< T, DIM > &high) | 
Returns the vector v elementwise clamped to the range [low, high].  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | clamp (const Vector< T, DIM > &v, T low, T high) | 
Returns the vector v elementwise clamped to the range [low, high].  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | cos (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise cosine of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | degrees (const Vector< T, DIM > &v) | 
Converts elementwise radians in v to degrees.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | elementwise_max (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
| Returns elementwise maximum of two vectors.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | elementwise_min (const Vector< T, DIM > &lhs, const Vector< T, DIM > &rhs) | 
| Returns elementwise minimum of two vectors.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | exp (const Vector< T, DIM > &v) | 
Returns a vector with elementwise e to the power of the element in the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | exp2 (const Vector< T, DIM > &v) | 
Returns a vector with elementwise 2 to the power of the element in the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | floor (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise largest integral value that is not greater than the element in vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | fmod (const Vector< T, DIM > &a, const Vector< T, DIM > &b) | 
Returns elementwise a modulo b, in other words, the remainder of a/b.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | fmod (const Vector< T, DIM > &a, T b) | 
Returns elementwise a modulo b, in other words, the remainder of a/b.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | frac (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise positive fractional part of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| bool | is_approx_equal (const Vector< T, DIM > &left, const Vector< T, DIM > &right, T e) | 
| Compares the two given values elementwise for equality within the given epsilon.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | lerp (const Vector< T, DIM > &v1, const Vector< T, DIM > &v2, const Vector< T, DIM > &t) | 
Returns the elementwise linear interpolation between v1 and v2, i.e., it returns (1-t) * v1 + t * v2.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | lerp (const Vector< T, DIM > &v1, const Vector< T, DIM > &v2, T t) | 
Returns the linear interpolation between v1 and v2, i.e., it returns (1-t) * v1 + t * v2.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | log (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise natural logarithm of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | log2 (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise base 2 logarithm of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | log10 (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise base 10 logarithm of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | modf (const Vector< T, DIM > &v, Vector< T, DIM > &i) | 
Returns the elementwise fractional part of v and stores the elementwise integral part of v in i.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | pow (const Vector< T, DIM > &a, const Vector< T, DIM > &b) | 
Returns the vector a elementwise to the power of b.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | pow (const Vector< T, DIM > &a, T b) | 
Returns the vector a elementwise to the power of b.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | radians (const Vector< T, DIM > &v) | 
Converts elementwise degrees in v to radians.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | round (const Vector< T, DIM > &v) | 
Returns a vector with the elements of vector v rounded to nearest integers.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | rsqrt (const Vector< T, DIM > &v) | 
Returns the reciprocal of the square root of each element of v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | saturate (const Vector< T, DIM > &v) | 
Returns the vector v clamped elementwise to the range [0,1].  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | sign (const Vector< T, DIM > &v) | 
Returns the elementwise sign of vector v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | sin (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise sine of the vector v.  More... | 
|
| template<typename T , Size DIM> | |
| void | sincos (const Vector< T, DIM > &a, Vector< T, DIM > &s, Vector< T, DIM > &c) | 
Computes elementwise the sine s and cosine c of angles a simultaneously.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | smoothstep (const Vector< T, DIM > &a, const Vector< T, DIM > &b, const Vector< T, DIM > &v) | 
Returns 0 if v is less than a and 1 if v is greater than b in an elementwise fashion.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | smoothstep (const Vector< T, DIM > &a, const Vector< T, DIM > &b, T x) | 
Returns 0 if x is less than a and 1 if x is greater than b in an elementwise fashion.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | sqrt (const Vector< T, DIM > &v) | 
Returns the square root of each element of v.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | step (const Vector< T, DIM > &a, const Vector< T, DIM > &v) | 
Returns elementwise 0 if v is less than a and 1 otherwise.  More... | 
|
| template<typename T , Size DIM> | |
| Vector< T, DIM > | tan (const Vector< T, DIM > &v) | 
Returns a vector with the elementwise tangent of the vector v.  More... | 
|
| template<typename T > | |
| T | cross (const Vector< T, 2 > &lhs, const Vector< T, 2 > &rhs) | 
Returns the two-times-two determinant result for the two vectors lhs and rhs.  More... | 
|
| template<typename T > | |
| Vector< T, 3 > | cross (const Vector< T, 3 > &lhs, const Vector< T, 3 > &rhs) | 
Returns the three-dimensional cross product result for the two vectors lhs and rhs.  More... | 
|
| template<typename T > | |
| void | make_basis (const Vector< T, 3 > &n, Vector< T, 3 > *u, Vector< T, 3 > *v) | 
| Computes a basis of 3D space with one given vector.  More... | 
|
| template<typename T > | |
| void | make_basis (const Vector< T, 3 > &n, const Vector< T, 3 > &u, const Vector< T, 3 > &v, Vector< T, 3 > *t, Vector< T, 3 > *b) | 
| Computes a basis of 3D space with one given vector, plane, and direction.  More... | 
|
| template<typename T2 , Size DIM2, typename T1 , Size DIM1> | |
| Vector< T2, DIM2 > | convert_vector (const Vector< T1, DIM1 > &v, const T2 &fill=T2(0)) | 
Converts the vector v of type Vector<T1, DIM1> to a vector of type Vector<T2, DIM2>.  More... | 
|
Namespace for the Math API.