Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /trunk/src/include/Diderot/types.h
ViewVC logotype

Diff of /trunk/src/include/Diderot/types.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1640, Wed Nov 16 02:19:51 2011 UTC revision 2356, Sun Apr 7 14:45:25 2013 UTC
# Line 69  Line 69 
69  typedef union { int64_t r[4]; vec4l_t v; } union4l_t;  typedef union { int64_t r[4]; vec4l_t v; } union4l_t;
70  typedef union { int64_t r[8]; vec8l_t v; } union8l_t;  typedef union { int64_t r[8]; vec8l_t v; } union8l_t;
71    
72  /* vector lengths must be power of 2, but vec3 is useful, so we pad to 4 */  /* vector lengths must be power of 2, but vec3 and vec6 are useful, so we pad to 4 and 8 (resp.) */
73  typedef vec4f_t vec3f_t;  typedef vec4f_t vec3f_t;
74  typedef union4f_t union3f_t;  typedef union4f_t union3f_t;
75  typedef vec4d_t vec3d_t;  typedef vec4d_t vec3d_t;
# Line 78  Line 78 
78  typedef union4i_t union3i_t;  typedef union4i_t union3i_t;
79  typedef vec4l_t vec3l_t;  typedef vec4l_t vec3l_t;
80  typedef union4l_t union3l_t;  typedef union4l_t union3l_t;
81    typedef vec8f_t vec6f_t;
82    typedef union8f_t union6f_t;
83    typedef vec8d_t vec6d_t;
84    typedef union8d_t union6d_t;
85    
86  /* typedefs for Diderot types */  /* typedefs for Diderot types */
87  #if defined(DIDEROT_SINGLE_PRECISION)  #if defined(DIDEROT_SINGLE_PRECISION)
# Line 85  Line 89 
89  typedef vec2f_t Diderot_vec2_t;  typedef vec2f_t Diderot_vec2_t;
90  typedef vec3f_t Diderot_vec3_t;  typedef vec3f_t Diderot_vec3_t;
91  typedef vec4f_t Diderot_vec4_t;  typedef vec4f_t Diderot_vec4_t;
92    typedef vec6f_t Diderot_vec6_t;
93  typedef union2f_t Diderot_union2_t;  typedef union2f_t Diderot_union2_t;
94  typedef union3f_t Diderot_union3_t;  typedef union3f_t Diderot_union3_t;
95  typedef union4f_t Diderot_union4_t;  typedef union4f_t Diderot_union4_t;
96    typedef union6f_t Diderot_union6_t;
97  typedef union2f_t Diderot_Mat2x2_t[2];  // represented as row vectors  typedef union2f_t Diderot_Mat2x2_t[2];  // represented as row vectors
98  typedef union3f_t Diderot_Mat3x3_t[3];  // represented as row vectors  typedef union3f_t Diderot_Mat3x3_t[3];  // represented as row vectors
99  typedef union4f_t Diderot_Mat4x4_t[4];  // represented as row vectors  typedef union4f_t Diderot_Mat4x4_t[4];  // represented as row vectors
100    typedef union2f_t Diderot_Ten2x2x2_t[2][2];
101    typedef union3f_t Diderot_Ten3x3x3_t[3][3];
102    typedef union4f_t Diderot_Ten4x4x4_t[4][4];
103  #elif defined(DIDEROT_DOUBLE_PRECISION)  #elif defined(DIDEROT_DOUBLE_PRECISION)
104  typedef double Diderot_real_t;  typedef double Diderot_real_t;
105  typedef vec2d_t Diderot_vec2_t;  typedef vec2d_t Diderot_vec2_t;
106  typedef vec3d_t Diderot_vec3_t;  typedef vec3d_t Diderot_vec3_t;
107  typedef vec4d_t Diderot_vec4_t;  typedef vec4d_t Diderot_vec4_t;
108    typedef vec6d_t Diderot_vec6_t;
109  typedef union2d_t Diderot_union2_t;  typedef union2d_t Diderot_union2_t;
110  typedef union3d_t Diderot_union3_t;  typedef union3d_t Diderot_union3_t;
111  typedef union4d_t Diderot_union4_t;  typedef union4d_t Diderot_union4_t;
112    typedef union6d_t Diderot_union6_t;
113  typedef union2d_t Diderot_Mat2x2_t[2];  // represented as row vectors  typedef union2d_t Diderot_Mat2x2_t[2];  // represented as row vectors
114  typedef union3d_t Diderot_Mat3x3_t[3];  // represented as row vectors  typedef union3d_t Diderot_Mat3x3_t[3];  // represented as row vectors
115  typedef union4d_t Diderot_Mat4x4_t[4];  // represented as row vectors  typedef union4d_t Diderot_Mat4x4_t[4];  // represented as row vectors
116    typedef union2d_t Diderot_Ten2x2x2_t[2][2];
117    typedef union3d_t Diderot_Ten3x3x3_t[3][3];
118    typedef union4d_t Diderot_Ten4x4x4_t[4][4];
119  #else  #else
120  #  error floating-point precision unknown  #  error floating-point precision unknown
121  #endif  #endif
122  #if defined(DIDEROT_INT)  #if defined(DIDEROT_INT)
123  typedef int32_t Diderot_int_t;  typedef int32_t Diderot_int_t;
124    typedef uint32_t Diderot_uint_t;
125  typedef vec2i_t Diderot_ivec2_t;  typedef vec2i_t Diderot_ivec2_t;
126  typedef vec3i_t Diderot_ivec3_t;  typedef vec3i_t Diderot_ivec3_t;
127  typedef vec4i_t Diderot_ivec4_t;  typedef vec4i_t Diderot_ivec4_t;
# Line 115  Line 130 
130  typedef union4i_t Diderot_iunion4_t;  typedef union4i_t Diderot_iunion4_t;
131  #elif defined(DIDEROT_LONGINT)  #elif defined(DIDEROT_LONGINT)
132  typedef int64_t Diderot_int_t;  typedef int64_t Diderot_int_t;
133    typedef uint64_t Diderot_uint_t;
134  typedef vec2l_t Diderot_ivec2_t;  typedef vec2l_t Diderot_ivec2_t;
135  typedef vec3l_t Diderot_ivec3_t;  typedef vec3l_t Diderot_ivec3_t;
136  typedef vec4l_t Diderot_ivec4_t;  typedef vec4l_t Diderot_ivec4_t;

Legend:
Removed from v.1640  
changed lines
  Added in v.2356

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0