neuray API Programmer's Manual

mi::math Namespace Reference

[Math API]

Description

Namespace for the Math API.

Namespaces

namespace 
Namespace for basic math functors in the Math API. More...
namespace 
Namespace for generic functions in the Math API. More...

Classes

class 
Axis-aligned N-dimensional bounding box class template of fixed dimension. More...
struct 
Storage class for an axis-aligned N-dimensional bounding box class template of fixed dimension. More...
class 
Standard RGBA color class with floating point elements and operations. More...
struct 
Generic storage class template for an RGBA color representation storing four floating points elements. More...
class 
NxM-dimensional matrix class template of fixed dimensions. More...
struct 
Specialization for 1x1-matrix. More...
struct 
Specialization for 1x2-matrix. More...
struct 
Specialization for 1x3-matrix. More...
struct 
Specialization for 1x4-matrix. More...
struct 
Specialization for 2x1-matrix. More...
struct 
Specialization for 2x2-matrix. More...
struct 
Specialization for 2x3-matrix. More...
struct 
Specialization for 2x4-matrix. More...
struct 
Specialization for 3x1-matrix. More...
struct 
Specialization for 3x2-matrix. More...
struct 
Specialization for 3x3-matrix. More...
struct 
Specialization for 3x4-matrix. More...
struct 
Specialization for 4x1-matrix. More...
struct 
Specialization for 4x2-matrix. More...
struct 
Specialization for 4x3-matrix. More...
struct 
Specialization for 4x4-matrix. More...
struct 
Storage class for a NxM-dimensional matrix class template of fixed dimensions. More...
class 
Spectrum with floating point elements and operations. More...
struct 
Generic storage class template for a Spectrum representation storing three floating point elements. More...
class 
Fixed-size math vector class template with generic operations. More...
struct 
Specialization for dimension 1 to create x member. More...
struct 
Specialization for dimension 2 to create x and y member. More...
struct 
Specialization for dimension 3 to create x, y, and z members. More...
struct 
Specialization for dimension 4 to create x, y, z, and w members. More...
struct 
Generic storage class template for math vector representations storing DIM elements of type T. More...

Enumerations

enum  {CLIP_RGB, CLIP_ALPHA, CLIP_RAW }
Supported clipping modes. More...
enum  {FROM_ITERATOR }
Enum used for initializing a vector from an iterator. More...

Functions

Color  ( const Color& c)
Returns a color with the elementwise absolute values of the color c. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise absolute values of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise absolute values of the vector v. More...
Color  ( const Color& c)
Returns a color with the elementwise arc cosine of the color c. More...
Float32  ( Float32 s)
Returns the arc cosine of s in radians. More...
Float64  ( Float64 s)
Returns the arc cosine of s in radians. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise arc cosine of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise arc cosine of the vector v. More...
bool   ( const Color& c)
Returns true if all elements of c are not equal to zero. More...
bool   ( Uint8 v)
Returns true if v is not equal to zero. More...
bool   ( Uint16 v)
Returns true if v is not equal to zero. More...
bool   ( Uint32 v)
Returns true if v is not equal to zero. More...
bool   ( Uint64 v)
Returns true if v is not equal to zero. More...
bool   ( Sint8 v)
Returns true if v is not equal to zero. More...
bool   ( Sint16 v)
Returns true if v is not equal to zero. More...
bool   ( Sint32 v)
Returns true if v is not equal to zero. More...
bool   ( Sint64 v)
Returns true if v is not equal to zero. More...
bool   ( Float32 v)
Returns true if v is not equal to zero. More...
bool   ( Float64 v)
Returns true if v is not equal to zero. More...
bool   ( const Spectrum& c)
Returns true if all elements of c are not equal to zero. More...
template< typename T, Size>bool   ( const Vector_struct < T , DIM >& v)
Returns true if all of all elements of v returns true. More...
bool   ( const Color& c)
Returns true if any element of c is not equal to zero. More...
bool   ( Uint8 v)
Returns true if v is not equal to zero. More...
bool   ( Uint16 v)
Returns true if v is not equal to zero. More...
bool   ( Uint32 v)
Returns true if v is not equal to zero. More...
bool   ( Uint64 v)
Returns true if v is not equal to zero. More...
bool   ( Sint8 v)
Returns true if v is not equal to zero. More...
bool   ( Sint16 v)
Returns true if v is not equal to zero. More...
bool   ( Sint32 v)
Returns true if v is not equal to zero. More...
bool   ( Sint64 v)
Returns true if v is not equal to zero. More...
bool   ( Float32 v)
Returns true if v is not equal to zero. More...
bool   ( Float64 v)
Returns true if v is not equal to zero. More...
bool   ( const Spectrum& c)
Returns true if any element of c is not equal to zero. More...
template< typename T, Size>bool   ( const Vector_struct < T , DIM >& v)
Returns true if any of any element of v returns true. More...
Color  ( const Color& c)
Returns a color with the elementwise arc sine of the color c. More...
Float32  ( Float32 s)
Returns the arc sine of s in radians. More...
Float64  ( Float64 s)
Returns the arc sine of s in radians. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise arc sine of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise arc sine of the vector v. More...
Color  ( const Color& c)
Returns a color with the elementwise arc tangent of the color c. More...
Float32  ( Float32 s)
Returns the arc tangent of s. More...
Float64  ( Float64 s)
Returns the arc tangent of s. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise arc tangent of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise arc tangent of the vector v. More...
Color  ( const Color& c, const Color& d)
Returns a color with the elementwise arc tangent of the color c / d. More...
Float32  ( Float32 s, Float32 t)
Returns the arc tangent of s / t. More...
Float64  ( Float64 s, Float64 t)
Returns the arc tangent of s / t. More...
Spectrum  ( const Spectrum& c, const Spectrum& d)
Returns a spectrum with the elementwise arc tangent of the spectrum c / d. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v, const Vector_struct < T , DIM >& w)
Returns a vector with the elementwise arc tangent of the vector v / w. More...
Color  ( const Color& c)
Returns a color with the elementwise smallest integral value that is not less than the element in color c. More...
Float32  ( Float32 s)
Returns the smallest integral value that is not less than s. More...
Float64  ( Float64 s)
Returns the smallest integral value that is not less than s. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise smallest integral value that is not less than the element in spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise smallest integral value that is not less than the element in vector v. More...
Color  ( const Color& c, const Color& low, const Color& high)
Returns the color c elementwise clamped to the range [low, high]. More...
Color  ( const Color& c, const Color& low, Float32 high)
Returns the color c elementwise clamped to the range [low, high]. More...
Color  ( const Color& c, Float32 low, const Color& high)
Returns the color c elementwise clamped to the range [low, high]. More...
Color  ( const Color& c, Float32 low, Float32 high)
Returns the color c elementwise clamped to the range [low, high]. More...
Uint8  ( 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  ( 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  ( 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  ( 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  ( 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  ( 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  ( 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  ( 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  ( 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  ( 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...
Spectrum  ( const Spectrum& c, const Spectrum& low, const Spectrum& high)
Returns the spectrum c elementwise clamped to the range [low, high]. More...
Spectrum  ( const Spectrum& c, const Spectrum& low, Float32 high)
Returns the spectrum c elementwise clamped to the range [low, high]. More...
Spectrum  ( const Spectrum& c, Float32 low, const Spectrum& high)
Returns the spectrum c elementwise clamped to the range [low, high]. More...
Spectrum  ( const Spectrum& c, Float32 low, Float32 high)
Returns the spectrum c elementwise clamped to the range [low, high]. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v, const Vector_struct < T , DIM >& low, const Vector_struct < T , DIM >& high)
Returns the vector v elementwise clamped to the range [low, high]. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v, const Vector_struct < T , DIM >& low, T high)
Returns the vector v elementwise clamped to the range [low, high]. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v, T low, const Vector_struct < T , DIM >& high)
Returns the vector v elementwise clamped to the range [low, high]. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v, T low, T high)
Returns the vector v elementwise clamped to the range [low, high]. More...
template< typename T, Size> Bbox < T , DIM >  ( const Bbox < T , DIM >& bbox1, const Bbox < T , DIM >& bbox2)
Clip bbox1 at bbox2 and return the result. More...
template< typename T2, Size, typename T1, Size> Vector < T2 , DIM2 >  ( 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...
Color  ( const Color& c)
Returns a color with the elementwise cosine of the color c. More...
Float32  ( Float32 a)
Returns the cosine of a. The angle a is specified in radians. More...
Float64  ( Float64 a)
Returns the cosine of a. The angle a is specified in radians. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise cosine of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise cosine of the vector v. More...
template< typename T> ( const Vector_struct < T , 2 >& lhs, const Vector_struct < T , 2 >& rhs)
Returns the two-times-two determinant result for the two vectors lhs and rhs. More...
template< typename T> Vector < T , 3 >  ( const Vector_struct < T , 3 >& lhs, const Vector_struct < T , 3 >& rhs)
Returns the three-dimensional cross product result for the two vectors lhs and rhs. More...
Color  ( const Color& c)
Converts elementwise radians in c to degrees. More...
Float32  ( Float32 r)
Converts radians r to degrees. More...
Float64  ( Float64 r)
Converts radians r to degrees. More...
Spectrum  ( const Spectrum& c)
Converts elementwise radians in c to degrees. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Converts elementwise radians in v to degrees. More...
Sint32  ( Sint32 a, Sint32 b)
Returns the inner product (a.k.a. dot or scalar product) of two integers. More...
Float32  ( Float32 a, Float32 b)
Returns the inner product (a.k.a. dot or scalar product) of two scalars. More...
Float64  ( 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  ( const V& lhs, const V& rhs)
Returns the inner product (a.k.a. dot or scalar product) of two vectors. More...
template< typename T, Size> Vector < bool , DIM >  ( 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> Vector < bool , DIM >  ( 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> Vector < bool , DIM >  ( 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> Vector < bool , DIM >  ( 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> Vector < bool , DIM >  ( 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> Vector < bool , DIM >  ( const Vector < T , DIM >& lhs, const Vector < T , DIM >& rhs)
Returns the boolean vector result of an elementwise inequality comparison. More...
Color  ( 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...
Spectrum  ( 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...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Returns elementwise maximum of two vectors. More...
Color  ( 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...
Spectrum  ( 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...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Returns elementwise minimum of two vectors. More...
template< class V>V::​value_type  ( const V& lhs, const V& rhs)
Returns the Euclidean distance from the vector lhs to the vector rhs. More...
Color  ( const Color& c)
Returns a color with elementwise e to the power of the element in the color c. More...
Float32  ( Float32 s)
Returns the constant e to the power of s (exponential function). More...
Float64  ( Float64 s)
Returns the constant e to the power of s (exponential function). More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with elementwise e to the power of the element in the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with elementwise e to the power of the element in the vector v. More...
Color  ( const Color& c)
Returns a color with elementwise 2 to the power of the element in the color c. More...
Float32  ( Float32 s)
Returns the constant 2 to the power of s (exponential function). More...
Float64  ( Float64 s)
Returns the constant 2 to the power of s (exponential function). More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with elementwise 2 to the power of the element in the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with elementwise 2 to the power of the element in the vector v. More...
Float32  ( Float32 x)
A fast implementation of exp for floats. More...
Float32  ( Float32 i)
A fast implementation of log2(x) for floats. More...
Float32  ( Float32 b, Float32 e)
A fast implementation of pow(x,y) for floats. More...
Float32  ( Float32 x)
A fast implementation of pow(2,x) for floats. More...
Float32  ( Float32 i)
A fast implementation of sqrt(x) for floats. More...
Color  ( const Color& c)
Returns a color with the elementwise largest integral value that is not greater than the element in color c. More...
Float32  ( Float32 s)
Returns the largest integral value that is not greater than s. More...
Float64  ( Float64 s)
Returns the largest integral value that is not greater than s. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise largest integral value that is not greater than the element in spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise largest integral value that is not greater than the element in vector v. More...
Color  ( const Color& a, const Color& b)
Returns elementwise a modulo b, in other words, the remainder of a/b. More...
Color  ( const Color& a, Float32 b)
Returns elementwise a modulo b, in other words, the remainder of a/b. More...
Float32  ( Float32 a, Float32 b)
Returns a modulo b, in other words, the remainder of a/b. More...
Float64  ( Float64 a, Float64 b)
Returns a modulo b, in other words, the remainder of a/b. More...
Spectrum  ( const Spectrum& a, const Spectrum& b)
Returns elementwise a modulo b, in other words, the remainder of a/b. More...
Spectrum  ( const Spectrum& a, Float32 b)
Returns elementwise a modulo b, in other words, the remainder of a/b. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& a, const Vector_struct < T , DIM >& b)
Returns elementwise a modulo b, in other words, the remainder of a/b. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& a, T b)
Returns elementwise a modulo b, in other words, the remainder of a/b. More...
Color  ( const Color& c)
Returns a color with the elementwise positive fractional part of the color c. More...
Float32  ( Float32 s)
Returns the positive fractional part of s. More...
Float64  ( Float64 s)
Returns the positive fractional part of s. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise positive fractional part of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise positive fractional part of the vector v. More...
MI_HOST_DEVICE_INLINE void  ( const Uint8 rgbe[4], Color& color)
Decodes a color from RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Uint32 rgbe, Color& color)
Decodes a color from RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Uint8 rgbe[4], Float32 color[3])
Decodes a color from RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Uint32 rgbe, Float32 color[3])
Decodes a color from RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Uint8 rgbe[4], Spectrum& c)
Decodes a color from RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Uint32 rgbe, Spectrum& c)
Decodes a color from RGBE representation. More...
Color  ( const Color& color, Float32 gamma_factor)
Returns a gamma corrected color. More...
Spectrum  ( const Spectrum& spectrum, Float32 gamma_factor)
Returns a gamma corrected spectrum. More...
bool   ( const Color& lhs, const Color& rhs, Float32 e)
Compares the two given values elementwise for equality within the given epsilon. More...
bool   ( Float32 left, Float32 right, Float32 e)
Compares the two given values for equality within the given epsilon. More...
bool   ( Float64 left, Float64 right, Float64 e)
Compares the two given values for equality within the given epsilon. More...
bool   ( const Spectrum& lhs, const Spectrum& rhs, Float32 e)
Compares the two given values elementwise for equality within the given epsilon. More...
template< typename T, Size>bool   ( const Vector_struct < T , DIM >& left, const Vector_struct < T , DIM >& right, T e)
Compares the two given values elementwise for equality within the given epsilon. More...
template< class V>bool   ( 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   ( const V& lhs, const V& rhs)
Returns true if vector lhs is elementwise not equal to vector rhs, and false otherwise. More...
bool   ( const Color& c)
Indicates whether all components of the color are finite. More...
bool   ( const Float32 x)
Checks a single-precision floating point number for neither "not a number" nor "infinity". More...
bool   ( const Float64 x)
Checks a double-precision floating point number for neither "not a number" nor "infinity". More...
bool   ( const Spectrum& c)
Indicates whether all components of the spectrum are finite. More...
bool   ( const Color& c)
Indicates whether any component of the color is infinite. More...
bool   ( const Float32 x)
Checks a single-precision floating point number for "infinity". More...
bool   ( const Float64 x)
Checks a double-precision floating point number for "infinity". More...
bool   ( const Spectrum& c)
Indicates whether any component of the spectrum is infinite. More...
bool   ( const Color& c)
Indicates whether any component of the color is "not a number". More...
bool   ( const Float32 x)
Checks a single-precision floating point number for "not a number". More...
bool   ( const Float64 x)
Checks a double-precision floating point number for "not a number". More...
bool   ( const Spectrum& c)
Indicates whether any component of the spectrum is "not a number". More...
Uint32  ( Uint32 v)
Returns the number of leading zeros of v, 32-bit version. More...
Uint32  ( Uint64 v)
Returns the number of leading zeros of v, 64-bit version. More...
Float32  ( Float32 a)
Returns the Euclidean norm of the scalar a (its absolute value). More...
Float64  ( Float64 a)
Returns the Euclidean norm of the scalar a (its absolute value). More...
template< class V>V::​value_type  ( const V& v)
Returns the Euclidean norm of the vector v. More...
template< typename T, Size> Bbox < T , DIM >  ( 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...
Color  ( 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  ( 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...
Float32  ( 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  ( Float64 s1, Float64 s2, Float64 t)
Returns the linear interpolation between s1 and s2, i.e., it returns (1-t) * s1 + t * s2. More...
Spectrum  ( 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  ( 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...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v1, const Vector_struct < T , DIM >& v2, const Vector_struct < 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> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v1, const Vector_struct < T , DIM >& v2, T t)
Returns the linear interpolation between v1 and v2, i.e., it returns (1-t) * v1 + t * v2. More...
template< class V>Comparison_result  ( const V& lhs, const V& rhs)
Compares two vectors lexicographically. More...
template< class V>bool   ( 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   ( 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>bool   ( 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   ( const V& lhs, const V& rhs)
Returns true if vector lhs is lexicographically less than or equal to vector rhs, and false otherwise. More...
Color  ( const Color& c)
Returns a color with elementwise natural logarithm of the color c. More...
Float32  ( Float32 s)
Returns the natural logarithm of s. More...
Float64  ( Float64 s)
Returns the natural logarithm of s. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with elementwise natural logarithm of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise natural logarithm of the vector v. More...
Color  ( const Color& c)
Returns a color with elementwise base 10 logarithm of the color c. More...
Float32  ( Float32 s)
Returns the base 10 logarithm of s. More...
Float64  ( Float64 s)
Returns the base 10 logarithm of s. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with elementwise base 10 logarithm of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise base 10 logarithm of the vector v. More...
Color  ( const Color& c)
Returns a color with elementwise base 2 logarithm of the color c. More...
Float32  ( Float32 s)
Returns the base 2 logarithm of s. More...
Float64  ( Float64 s)
Returns the base 2 logarithm of s. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with elementwise base 2 logarithm of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise base 2 logarithm of the vector v. More...
Sint32  ( const Uint32 v)
Returns the integer log2 of v. More...
Sint32  ( const Uint64 v)
Returns the integer log2 of v. More...
Sint32  ( const Float32 v)
Returns the integer log2 of v. More...
Sint32  ( const Float64 v)
Returns the integer log2 of v. More...
template< typename Integer>Sint32  ( const Integer v)
Returns the integer log2 of v, i.e., rounded up to the next integer. More...
template< typename T>void  ( 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  ( 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 T, Size, Size>T*  ( Matrix_struct < T , ROW , COL >& mat)
Returns the base pointer to the matrix data. More...
template< typename T, Size, Size>const T*  ( const Matrix_struct < T , ROW , COL >& mat)
Returns the base pointer to the matrix data. More...
Color  ( const Color& c, Color& i)
Returns the elementwise fractional part of c and stores the elementwise integral part of c in i. More...
Float32  ( Float32 s, Float32& i)
Returns the fractional part of s and stores the integral part of s in i. More...
Float64  ( Float64 s, Float64& i)
Returns the fractional part of s and stores the integral part of s in i. More...
Spectrum  ( const Spectrum& c, Spectrum& i)
Returns the elementwise fractional part of c and stores the elementwise integral part of c in i. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < 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< Size> Vector < bool , DIM >  ( const Vector < bool , DIM >& vec)
Returns the elementwise logical not of a boolean vector. More...
template< typename T, Size>bool   ( const Bbox < T , DIM >& lhs, const Bbox < T , DIM >& rhs)
Returns true if lhs is elementwise not equal to rhs. More...
bool   ( const Color& lhs, const Color& rhs)
Returns true if lhs is elementwise not equal to rhs. More...
template< typename T, Size, Size>bool   ( const Matrix < T , ROW , COL >& lhs, const Matrix < T , ROW , COL >& rhs)
Returns true if lhs is elementwise not equal to rhs. More...
bool   ( const Spectrum& lhs, const Spectrum& rhs)
Returns true if lhs is elementwise not equal to rhs. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Computes lhs modulo rhs elementwise and returns the new result. More...
template< typename T, Size> Vector < T , DIM >  ( 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 TT, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v, TT s)
Computes v modulo s elementwise and returns the new result. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Computes lhs modulo rhs elementwise and returns the modified lhs. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector < T , DIM >& rhs)
Computes lhs modulo rhs elementwise and returns the modified lhs. More...
template< typename T, typename TT, Size> Vector < T , DIM >&  ( Vector < T , DIM >& v, TT s)
Computes v modulo s elementwise and returns the modified vector v. More...
template< Size> Vector < bool , DIM >  ( const Vector < bool , DIM >& lhs, const Vector < bool , DIM >& rhs)
Returns the elementwise logical and of two boolean vectors. More...
template< Size> Vector < bool , DIM >  ( bool lhs, const Vector < bool , DIM >& rhs)
Returns the elementwise logical and of a bool and a boolean vector. More...
template< Size> Vector < bool , DIM >  ( const Vector < bool , DIM >& lhs, bool rhs)
Returns the elementwise logical and of a boolean vector and a bool. More...
template< typename T, Size> Bbox < T , DIM >  ( 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...
Color  ( const Color& lhs, const Color& rhs)
Multiplies rhs elementwise with lhs and returns the new result. More...
Color  ( const Color& c, Float32 s)
Multiplies the color c elementwise with the scalar s and returns the new result. More...
Color  ( Float32 s, const Color& c)
Multiplies the color c elementwise with the scalar s and returns the new result. More...
template< typename T, Size, Size, Size, Size> Matrix < T , ROW1 , COL2 >  ( 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, Size, Size> Vector < T , ROW >  ( 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, typename T, Size, Size> Vector < T , COL >  ( 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, Size> Matrix < T , ROW , COL >  ( 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, Size> Matrix < T , ROW , COL >  ( T factor, const Matrix < T , ROW , COL >& mat)
Multiplies the matrix mat elementwise with the scalar factor and returns the new result. More...
Spectrum  ( const Spectrum& lhs, const Spectrum& rhs)
Multiplies rhs elementwise with lhs and returns the new result. More...
Spectrum  ( const Spectrum& c, Float32 s)
Multiplies the spectrum c elementwise with the scalar s and returns the new result. More...
Spectrum  ( Float32 s, const Spectrum& c)
Multiplies the spectrum c elementwise with the scalar s and returns the new result. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Multiplies rhs elementwise with lhs and returns the new result. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector < T , DIM >& lhs, const Vector < T , DIM >& rhs)
Multiplies rhs elementwise with lhs and returns the new result. More...
template< typename T, typename TT, Size> Vector < T , DIM >  ( const Vector_struct < 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> Vector < T , DIM >  ( TT s, const Vector_struct < T , DIM >& v)
Multiplies the vector v elementwise with the scalar s and returns the new result. More...
template< typename T, Size> Bbox < T , DIM >&  ( Bbox < T , DIM >& bbox, T factor)
Scales bbox by factor, i.e., bbox.max and bbox.min are multiplied by factor. More...
Color ( Color& lhs, const Color& rhs)
Multiplies rhs elementwise with lhs and returns the modified lhs. More...
Color ( Color& c, Float32 s)
Multiplies the color c elementwise with the scalar s and returns the modified color c. More...
template< typename T, Size, Size> Matrix < T , ROW , COL >&  ( 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, Size> Matrix < T , ROW , COL >&  ( Matrix < T , ROW , COL >& mat, T factor)
Multiplies the matrix mat elementwise with the scalar factor and returns the modified matrix mat. More...
Spectrum ( Spectrum& lhs, const Spectrum& rhs)
Multiplies rhs elementwise with lhs and returns the modified lhs. More...
Spectrum ( Spectrum& c, Float32 s)
Multiplies the spectrum c elementwise with the scalar s and returns the modified spectrum c. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Multiplies rhs elementwise with lhs and returns the modified lhs. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector < T , DIM >& rhs)
Multiplies rhs elementwise with lhs and returns the modified lhs. More...
template< typename T, typename TT, Size> Vector < T , DIM >&  ( 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, Size> Bbox < T , DIM >  ( 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...
Color  ( const Color& lhs, const Color& rhs)
Adds lhs and rhs elementwise and returns the new result. More...
template< typename T, Size, Size> Matrix < T , ROW , COL >  ( const Matrix < T , ROW , COL >& lhs, const Matrix < T , ROW , COL >& rhs)
Adds lhs and rhs elementwise and returns the new result. More...
Spectrum  ( const Spectrum& lhs, const Spectrum& rhs)
Adds lhs and rhs elementwise and returns the new result. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Adds lhs and rhs elementwise and returns the new result. More...
template< typename T, Size> Vector < T , DIM >  ( 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> Vector < T , DIM >&  ( Vector < T , DIM >& vec)
Pre-increments all elements of vec and returns the result. Modifies vec. More...
template< typename T, Size> Bbox < T , DIM >&  ( 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...
Color ( Color& lhs, const Color& rhs)
Adds rhs elementwise to lhs and returns the modified lhs. More...
template< typename T, Size, Size> Matrix < T , ROW , COL >&  ( Matrix < T , ROW , COL >& lhs, const Matrix < T , ROW , COL >& rhs)
Adds rhs elementwise to lhs and returns the modified lhs. More...
Spectrum ( Spectrum& lhs, const Spectrum& rhs)
Adds rhs elementwise to lhs and returns the modified lhs. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Adds rhs elementwise to lhs and returns the modified lhs. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector < T , DIM >& rhs)
Adds rhs elementwise to lhs and returns the modified lhs. More...
template< typename T, Size> Bbox < T , DIM >  ( 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...
Color  ( const Color& lhs, const Color& rhs)
Subtracts rhs elementwise from lhs and returns the new result. More...
Color  ( const Color& c)
Negates the color c elementwise and returns the new result. More...
template< typename T, Size, Size> Matrix < T , ROW , COL >  ( 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, Size> Matrix < T , ROW , COL >  ( const Matrix < T , ROW , COL >& mat)
Negates the matrix mat elementwise and returns the new result. More...
Spectrum  ( const Spectrum& lhs, const Spectrum& rhs)
Subtracts rhs elementwise from lhs and returns the new result. More...
Spectrum  ( const Spectrum& c)
Negates the spectrum c elementwise and returns the new result. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Subtracts rhs elementwise from lhs and returns the new result. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Negates the vector v elementwise and returns the new result. More...
template< typename T, Size> Vector < T , DIM >  ( 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> Vector < T , DIM >  ( const Vector < T , DIM >& v)
Negates the vector v elementwise and returns the new result. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& vec)
Pre-decrements all elements of vec and returns the result. Modifies vec. More...
template< typename T, Size> Bbox < T , DIM >&  ( 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...
Color ( Color& lhs, const Color& rhs)
Subtracts rhs elementwise from lhs and returns the modified lhs. More...
template< typename T, Size, Size> Matrix < T , ROW , COL >&  ( Matrix < T , ROW , COL >& lhs, const Matrix < T , ROW , COL >& rhs)
Subtracts rhs elementwise from lhs and returns the modified lhs. More...
Spectrum ( Spectrum& lhs, const Spectrum& rhs)
Subtracts rhs elementwise from lhs and returns the modified lhs. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector_struct < T , DIM >& rhs)
Subtracts rhs elementwise from lhs and returns the modified lhs. More...
template< typename T, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector < T , DIM >& rhs)
Subtracts rhs elementwise from lhs and returns the modified lhs. More...
template< typename T, Size> Bbox < T , DIM >  ( 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...
Color  ( const Color& lhs, const Color& rhs)
Divides rhs elementwise by lhs and returns the new result. More...
Color  ( const Color& c, Float32 s)
Divides the color c elementwise by the scalar s and returns the new result. More...
Spectrum  ( const Spectrum& lhs, const Spectrum& rhs)
Divides rhs elementwise by lhs and returns the new result. More...
Spectrum  ( const Spectrum& c, Float32 s)
Divides the spectrum c elementwise by the scalar s and returns the new result. More...
template< typename T, typename U, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& lhs, const Vector_struct < U , DIM >& rhs)
Divides rhs elementwise by lhs and returns the new result. More...
template< typename T, typename U, Size> Vector < T , DIM >  ( const Vector < T , DIM >& lhs, const Vector < U , DIM >& rhs)
Divides rhs elementwise by lhs and returns the new result. More...
template< typename T, typename TT, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v, TT s)
Divides the vector v elementwise by the scalar s and returns the new result. More...
template< typename T, Size> Bbox < T , DIM >&  ( Bbox < T , DIM >& bbox, T divisor)
Divide bbox by divisor, i.e., bbox.max and bbox.min are divided by divisor. More...
Color ( Color& lhs, const Color& rhs)
Divides lhs elementwise by rhs and returns the modified lhs. More...
Color ( Color& c, Float32 s)
Divides the color c elementwise by the scalar s and returns the modified color c. More...
Spectrum ( Spectrum& lhs, const Spectrum& rhs)
Divides lhs elementwise by rhs and returns the modified lhs. More...
Spectrum ( Spectrum& c, Float32 s)
Divides the spectrum c elementwise by the scalar s and returns the modified spectrum c. More...
template< typename T, typename U, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector_struct < U , DIM >& rhs)
Divides lhs elementwise by rhs and returns the modified lhs. More...
template< typename T, typename U, Size> Vector < T , DIM >&  ( Vector < T , DIM >& lhs, const Vector < U , DIM >& rhs)
Divides lhs elementwise by rhs and returns the modified lhs. More...
template< typename T, typename TT, Size> Vector < T , DIM >&  ( 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, Size>bool   ( const Bbox < T , DIM >& lhs, const Bbox < T , DIM >& rhs)
Returns true if lhs is lexicographically less than rhs. More...
bool   ( const Color& lhs, const Color& rhs)
Returns true if lhs is lexicographically less than rhs. More...
template< typename T, Size, Size>bool   ( const Matrix < T , ROW , COL >& lhs, const Matrix < T , ROW , COL >& rhs)
Returns true if lhs is lexicographically less than rhs. More...
bool   ( const Spectrum& lhs, const Spectrum& rhs)
Returns true if lhs is lexicographically less than rhs. More...
template< typename T, Size>bool   ( const Bbox < T , DIM >& lhs, const Bbox < T , DIM >& rhs)
Returns true if lhs is lexicographically less than or equal to rhs. More...
bool   ( const Color& lhs, const Color& rhs)
Returns true if lhs is lexicographically less than or equal to rhs. More...
template< typename T, Size, Size>bool   ( 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...
bool   ( const Spectrum& lhs, const Spectrum& rhs)
Returns true if lhs is lexicographically less than or equal to rhs. More...
template< typename T, Size>bool   ( const Bbox < T , DIM >& lhs, const Bbox < T , DIM >& rhs)
Returns true if lhs is elementwise equal to rhs. More...
bool   ( const Color& lhs, const Color& rhs)
Returns true if lhs is elementwise equal to rhs. More...
template< typename T, Size, Size>bool   ( const Matrix < T , ROW , COL >& lhs, const Matrix < T , ROW , COL >& rhs)
Returns true if lhs is elementwise equal to rhs. More...
bool   ( const Spectrum& lhs, const Spectrum& rhs)
Returns true if lhs is elementwise equal to rhs. More...
template< typename T, Size>bool   ( const Bbox < T , DIM >& lhs, const Bbox < T , DIM >& rhs)
Returns true if lhs is lexicographically greater than rhs. More...
bool   ( const Color& lhs, const Color& rhs)
Returns true if lhs is lexicographically greater than rhs. More...
template< typename T, Size, Size>bool   ( const Matrix < T , ROW , COL >& lhs, const Matrix < T , ROW , COL >& rhs)
Returns true if lhs is lexicographically greater than rhs. More...
bool   ( const Spectrum& lhs, const Spectrum& rhs)
Returns true if lhs is lexicographically greater than rhs. More...
template< typename T, Size>bool   ( const Bbox < T , DIM >& lhs, const Bbox < T , DIM >& rhs)
Returns true if lhs is lexicographically greater than or equal to rhs. More...
bool   ( const Color& lhs, const Color& rhs)
Returns true if lhs is lexicographically greater than or equal to rhs. More...
template< typename T, Size, Size>bool   ( 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...
bool   ( const Spectrum& lhs, const Spectrum& rhs)
Returns true if lhs is lexicographically greater than or equal to rhs. More...
template< Size> Vector < bool , DIM >  ( const Vector < bool , DIM >& lhs, const Vector < bool , DIM >& rhs)
Returns the elementwise logical xor of two boolean vectors. More...
template< Size> Vector < bool , DIM >  ( bool lhs, const Vector < bool , DIM >& rhs)
Returns the elementwise logical xor of a bool and a boolean vector. More...
template< Size> Vector < bool , DIM >  ( const Vector < bool , DIM >& lhs, bool rhs)
Returns the elementwise logical xor of a boolean vector and a bool. More...
template< Size> Vector < bool , DIM >  ( const Vector < bool , DIM >& lhs, const Vector < bool , DIM >& rhs)
Returns the elementwise logical or of two boolean vectors. More...
template< Size> Vector < bool , DIM >  ( bool lhs, const Vector < bool , DIM >& rhs)
Returns the elementwise logical or of a bool and a boolean vector. More...
template< Size> Vector < bool , DIM >  ( const Vector < bool , DIM >& lhs, bool rhs)
Returns the elementwise logical or of a boolean vector and a bool. More...
Color  ( const Color& a, const Color& b)
Returns the color a elementwise to the power of b. More...
Color  ( const Color& a, Float32 b)
Returns the color a elementwise to the power of b. More...
Uint32  ( Uint32 a, Uint32 b)
Returns a to the power of b. More...
Uint64  ( Uint64 a, Uint64 b)
Returns a to the power of b. More...
Sint32  ( Sint32 a, Sint32 b)
Returns a to the power of b. More...
Sint64  ( Sint64 a, Sint64 b)
Returns a to the power of b. More...
Float32  ( Float32 a, Float32 b)
Returns a to the power of b. More...
Float64  ( Float64 a, Float64 b)
Returns a to the power of b. More...
Spectrum  ( const Spectrum& a, const Spectrum& b)
Returns the spectrum a elementwise to the power of b. More...
Spectrum  ( const Spectrum& a, Float32 b)
Returns the spectrum a elementwise to the power of b. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& a, const Vector_struct < T , DIM >& b)
Returns the vector a elementwise to the power of b. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& a, T b)
Returns the vector a elementwise to the power of b. More...
Color  ( const Color& c)
Converts elementwise degrees in c to radians. More...
Float32  ( Float32 d)
Converts degrees d to radians. More...
Float64  ( Float64 d)
Converts degrees d to radians. More...
Spectrum  ( const Spectrum& c)
Converts elementwise degrees in c to radians. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Converts elementwise degrees in v to radians. More...
Color  ( const Color& c)
Returns a color with the elements of color c rounded to nearest integers. More...
Float32  ( Float32 s)
Returns s rounded to the nearest integer value. More...
Float64  ( Float64 s)
Returns s rounded to the nearest integer value. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elements of spectrum c rounded to nearest integers. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elements of vector v rounded to nearest integers. More...
Color  ( const Color& c)
Returns the reciprocal of the square root of each element of c. More...
Float32  ( Float32 s)
Returns the reciprocal of the square root of s. More...
Float64  ( Float64 s)
Returns the reciprocal of the square root of s. More...
Spectrum  ( const Spectrum& c)
Returns the reciprocal of the square root of each element of c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns the reciprocal of the square root of each element of v. More...
Color  ( const Color& c)
Returns the color c clamped elementwise to the range [0,1]. More...
Float32  ( Float32 s)
Returns the value s clamped to the range [0,1]. More...
Float64  ( Float64 s)
Returns the value s clamped to the range [0,1]. More...
Spectrum  ( const Spectrum& c)
Returns the spectrum c clamped elementwise to the range [0,1]. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns the vector v clamped elementwise to the range [0,1]. More...
template< class V>void  ( V& v, const V& low, const V& high)
Bounds the value of vector v elementwise to the given low and high vector values. More...
Color  ( const Color& c)
Returns the elementwise sign of color c. More...
Sint8  ( Sint8 s)
Returns -1 if s<0, 0 if s==0, and +1 if s>0. More...
Sint16  ( Sint16 s)
Returns -1 if s<0, 0 if s==0, and +1 if s>0. More...
Sint32  ( Sint32 s)
Returns -1 if s<0, 0 if s==0, and +1 if s>0. More...
Sint64  ( Sint64 s)
Returns -1 if s<0, 0 if s==0, and +1 if s>0. More...
Float32  ( Float32 s)
Returns -1 if s<0, 0 if s==0, and +1 if s>0. More...
Float64  ( Float64 s)
Returns -1 if s<0, 0 if s==0, and +1 if s>0. More...
Spectrum  ( const Spectrum& c)
Returns the elementwise sign of spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns the elementwise sign of vector v. More...
bool   ( Sint8 s)
Returns true if s<0 and false if s>= 0. More...
bool   ( Sint16 s)
Returns true if s<0 and false if s>= 0. More...
bool   ( Sint32 s)
Returns true if s<0 and false if s>= 0. More...
bool   ( Sint64 s)
Returns true if s<0 and false if s>= 0. More...
bool   ( Float32 s)
Extracts the sign bit of a single-precision floating point number. More...
bool   ( Float64 s)
Extracts the sign bit of a double-precision floating point number. More...
Color  ( const Color& c)
Returns a color with the elementwise sine of the color c. More...
Float32  ( Float32 a)
Returns the sine of a. The angle a is specified in radians. More...
Float64  ( Float64 a)
Returns the sine of a. The angle a is specified in radians. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise sine of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise sine of the vector v. More...
void  ( const Color& a, Color& s, Color& c)
Computes elementwise the sine s and cosine c of angles a simultaneously. More...
void  ( Float32 a, Float32& s, Float32& c)
Computes the sine s and cosine c of angle a simultaneously. More...
void  ( Float64 a, Float64& s, Float64& c)
Computes the sine s and cosine c of angle a simultaneously. More...
void  ( const Spectrum& a, Spectrum& s, Spectrum& c)
Computes elementwise the sine s and cosine c of angles a simultaneously. More...
template< typename T, Size>void  ( const Vector_struct < T , DIM >& a, Vector < T , DIM >& s, Vector < T , DIM >& c)
Computes elementwise the sine s and cosine c of angles a simultaneously. More...
Color  ( 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  ( 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...
Float32  ( Float32 a, Float32 b, Float32 x)
Returns 0 if x is less than a and 1 if x is greater than b. More...
Float64  ( Float64 a, Float64 b, Float64 x)
Returns 0 if x is less than a and 1 if x is greater than b. More...
Spectrum  ( 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  ( 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...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& a, const Vector_struct < T , DIM >& b, const Vector_struct < 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> Vector < T , DIM >  ( const Vector_struct < T , DIM >& a, const Vector_struct < 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...
Color  ( const Color& c)
Returns the square root of each element of c. More...
Float32  ( Float32 s)
Returns the square root of s. More...
Float64  ( Float64 s)
Returns the square root of s. More...
Spectrum  ( const Spectrum& c)
Returns the square root of each element of c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns the square root of each element of v. More...
template< class V>V::​value_type  ( 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  ( const V& v)
Returns the squared Euclidean norm of the vector v. More...
Color  ( const Color& a, const Color& c)
Returns elementwise 0 if c is less than a and 1 otherwise. More...
Float32  ( Float32 a, Float32 x)
Returns 0 if x is less than a and 1 otherwise. More...
Float64  ( Float64 a, Float64 x)
Returns 0 if x is less than a and 1 otherwise. More...
Spectrum  ( const Spectrum& a, const Spectrum& c)
Returns elementwise 0 if c is less than a and 1 otherwise. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& a, const Vector_struct < T , DIM >& v)
Returns elementwise 0 if v is less than a and 1 otherwise. More...
template< Size, Size, typename T, Size, Size> Matrix < T , NEW_ROW , NEW_COL >  ( const Matrix < T , ROW , COL >& mat)
Returns the upper-left sub-matrix of size NEW_ROW times NEW_COL. More...
Color  ( const Color& c)
Returns a color with the elementwise tangent of the color c. More...
Float32  ( Float32 a)
Returns the tangent of a. The angle a is specified in radians. More...
Float64  ( Float64 a)
Returns the tangent of a. The angle a is specified in radians. More...
Spectrum  ( const Spectrum& c)
Returns a spectrum with the elementwise tangent of the spectrum c. More...
template< typename T, Size> Vector < T , DIM >  ( const Vector_struct < T , DIM >& v)
Returns a vector with the elementwise tangent of the vector v. More...
MI_HOST_DEVICE_INLINE void  ( const Color& color, Uint32& rgbe)
Encodes a color into RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Color& color, Uint8 rgbe[4])
Encodes a color into RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Float32 color[3], Uint32& rgbe)
Encodes a color into RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Float32 color[3], Uint8 rgbe[4])
Encodes a color into RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Spectrum& c, Uint32& rgbe)
Encodes a spectrum into RGBE representation. More...
MI_HOST_DEVICE_INLINE void  ( const Spectrum& c, Uint8 rgbe[4])
Encodes a spectrum into RGBE representation. More...
template< typename T, typename U> Vector < U , 3 >  ( 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...
template< typename T, typename U> Vector < U , 3 >  ( const Matrix < T , 3 , 3 >& inv_mat, const Vector < U , 3 >& normal)
Returns an inverse transformed 3D normal vector by applying the 3x3 transposed linear transformation in the matrix inv_mat on the 3D normal vector normal. More...
template< typename T, typename U> Vector < U , 3 >  ( 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 TT, typename T> Bbox < T , 3 >  ( const Matrix < TT , 4 , 4 >& mat, const Bbox < T , 3 >& bbox)
Returns the 3D bounding box transformed by a matrix. More...
template< typename T, typename U> ( 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 >  ( 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 >  ( const Matrix < T , 4 , 3 >& mat, const Vector < U , 3 >& point)
Returns a transformed 3D point by applying the full transformation in the 4x3 matrix mat on the 3D point point, which includes the translation. More...
template< typename T, typename U> Vector < U , 3 >  ( 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 >  ( 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 TT, typename T> Bbox < T , 3 >  ( const Matrix < TT , 4 , 4 >& mat, const Bbox < T , 3 >& bbox)
Returns the 3D bounding box transformed by a matrix. More...
template< typename T, typename U> ( 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 >  ( 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 >  ( const Matrix < T , 3 , 3 >& mat, const Vector < U , 3 >& vector)
Returns a transformed 3D vector by applying the 3x3 matrix mat transformation on the 3D vector vector. More...
template< typename T, typename U> Vector < U , 3 >  ( const Matrix < T , 4 , 3 >& mat, const Vector < U , 3 >& vector)
Returns a transformed 3D vector by applying the 3x3 linear sub-transformation in the 4x3 matrix mat on the 3D vector vector, which excludes the translation. More...
template< typename T, typename U> Vector < U , 3 >  ( 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, Size, Size> Matrix < T , COL , ROW >  ( const Matrix < T , ROW , COL >& mat)
Returns the transpose of the matrix mat by exchanging rows and columns. More...
template< typename T, Size>T*  ( Vector_struct < T , DIM >& vec)
Returns the base pointer to the vector data. More...
template< typename T, Size>const T*  ( const Vector_struct < T , DIM >& vec)
Returns the base pointer to the vector data. More...
template< typename T>T*  ( Vector_struct < T , 1 >& vec)
Returns the base pointer to the vector data, specialization for DIM==1. More...
template< typename T>const T*  ( const Vector_struct < T , 1 >& vec)
Returns the base pointer to the vector data, specialization for DIM==1. More...
template< typename T>T*  ( Vector_struct < T , 2 >& vec)
Returns the base pointer to the vector data, specialization for DIM==2. More...
template< typename T>const T*  ( const Vector_struct < T , 2 >& vec)
Returns the base pointer to the vector data, specialization for DIM==2. More...
template< typename T>T*  ( Vector_struct < T , 3 >& vec)
Returns the base pointer to the vector data, specialization for DIM==3. More...
template< typename T>const T*  ( const Vector_struct < T , 3 >& vec)
Returns the base pointer to the vector data, specialization for DIM==3. More...
template< typename T>T*  ( Vector_struct < T , 4 >& vec)
Returns the base pointer to the vector data, specialization for DIM==4. More...
template< typename T>const T*  ( const Vector_struct < T , 4 >& vec)
Returns the base pointer to the vector data, specialization for DIM==4. More...