| 
    OWL
    
   OptiX7 Wrapper Library 
   | 
 
 
 
 
Go to the documentation of this file.
   29     { 
return (a.x==b.x) & (a.y==b.y); }
 
   33     { 
return (a.x==b.x) & (a.y==b.y) & (a.z==b.z); }
 
   37     { 
return (a.x==b.x) & (a.y==b.y) & (a.z==b.z) & (a.w==b.w); }
 
   41     { 
return a.
x==b.
x && a.
y==b.
y; }
 
   45     { 
return a.
x==b.
x && a.
y==b.
y && a.
z==b.
z; }
 
   49     { 
return a.
x==b.
x && a.
y==b.
y && a.
z==b.
z && a.
w==b.
w; }
 
   56     template<
typename T, 
int N>
 
   71       -> 
vec_t<decltype(!a.x),2>
 
   72     { 
return { !a.x, !a.y }; }
 
   76       -> 
vec_t<decltype(!a.x),3>
 
   77     { 
return { !a.x, !a.y, !a.z }; }
 
   81       -> 
vec_t<decltype(!a.x),4>
 
   82     { 
return { !a.x, !a.y, !a.z, !a.w }; }
 
   90       -> 
vec_t<decltype(a.x==b.x),2>
 
   91     { 
return { a.x==b.x, a.y==b.y }; }
 
   95       -> 
vec_t<decltype(a.x==b.x),3>
 
   96     { 
return { a.x==b.x, a.y==b.y, a.z==b.z }; }
 
  100       -> 
vec_t<decltype(a.x==b.x),4>
 
  101     { 
return { a.x==b.x, a.y==b.y, a.z==b.z, a.w==b.w }; }
 
  107     template<
typename T, 
int N>
 
  109       -> decltype(
nt(
eq(a,b)))
 
  110     { 
return nt(
eq(a,b)); }
 
  118       -> 
vec_t<decltype(a.x<b.x),2>
 
  119     { 
return { a.x<b.x, a.y<b.y }; }
 
  123         -> 
vec_t<decltype(a.x<b.x),3>
 
  124       { 
return { a.x<b.x, a.y<b.y, a.z<b.z }; }
 
  128           -> 
vec_t<decltype(a.x<b.x),4>
 
  129         { 
return { a.x<b.x, a.y<b.y, a.z<b.z, a.w<b.w }; }
 
  135           template<
typename T, 
int N>
 
  137             -> decltype(
nt(
lt(b,a)))
 
  138           { 
return nt(
lt(b,a)); }
 
  144     template<
typename T, 
int N>
 
  153     template<
typename T, 
int N>
 
  155       -> decltype(
nt(
lt(a,b)))
 
  156     { 
return nt(
lt(a,b)); }
 
  162     template<
typename T, 
int N>
 
  164     { 
for (
int i=0;i<N;++i) 
if (a[i]) 
return true; 
return false; }
 
  166     template<
typename T, 
int N>
 
  168     { 
for (
int i=0;i<N;++i) 
if (!a[i]) 
return false; 
return true; }
 
  182     { 
return { mask.x?a.
x:b.
x, mask.y?a.
y:b.
y }; }
 
  188     { 
return { mask.x?a.
x:b.
x, mask.y?a.
y:b.
y, mask.z?a.
z:b.
z }; }
 
  194     { 
return { mask.x?a.
x:b.
x, mask.y?a.
y:b.
y, mask.z?a.
z:b.
z }; }
 
  196     template<
typename T, 
int N>
 
  202       for (
int i=0; i<N; ++i)
 
  203         res[i] = mask[i]?a[i]:b[i];
 
  
 
__both__ auto eq(const vec_t< T, 2 > &a, const vec_t< T, 2 > &b) -> vec_t< decltype(a.x==b.x), 2 >
Definition: compare.h:89
 
__both__ auto neq(const vec_t< T, N > &a, const vec_t< T, N > &b) -> decltype(nt(eq(a, b)))
Definition: compare.h:108
 
__both__ auto lt(const vec_t< T, 2 > &a, const vec_t< T, 2 > &b) -> vec_t< decltype(a.x< b.x), 2 >
Definition: compare.h:117
 
__both__ bool all(const vec_t< T, N > &a)
Definition: compare.h:167
 
__both__ auto ge(const vec_t< T, N > &a, const vec_t< T, N > &b) -> decltype(nt(lt(a, b)))
Definition: compare.h:154
 
__both__ vec_t< T, 2 > select(const vec_t< bool, 2 > &mask, const vec_t< T, 2 > &a, const vec_t< T, 2 > &b)
Definition: compare.h:179
 
bool operator!=(const AffineSpaceT< L > &a, const AffineSpaceT< L > &b)
Definition: AffineSpace.h:147
 
bool operator==(const AffineSpaceT< L > &a, const AffineSpaceT< L > &b)
Comparison Operators.
Definition: AffineSpace.h:146
 
__both__ auto gt(const vec_t< T, N > &a, const vec_t< T, N > &b) -> decltype(lt(b, a))
Definition: compare.h:145
 
Definition: APIContext.cpp:36
 
__both__ auto le(const vec_t< T, N > &a, const vec_t< T, N > &b) -> decltype(nt(lt(b, a)))
Definition: compare.h:136
 
__both__ auto nt(const vec_t< T, 2 > &a) -> vec_t< decltype(!a.x), 2 >
Definition: compare.h:70
 
#define __both__
Definition: owl-common.h:102
 
__both__ bool any(const vec_t< T, N > &a)
Definition: compare.h:163