Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:41

0001 #pragma once
0002 
0003 struct float4 { float x,y,z,w ; };
0004 struct float3 { float x,y,z   ; };
0005 struct float2 { float x,y ; };
0006 
0007 struct double4 { double x,y,z,w ; };
0008 struct double3 { double x,y,z   ; };
0009 struct double2 { double x,y ; };
0010 
0011 struct int4 { int x,y,z,w ; };
0012 struct int3 { int x,y,z   ; };
0013 struct int2 { int x,y     ; };
0014 struct int1 { int x       ; };
0015 
0016 struct uint4  { unsigned x,y,z,w ; };
0017 struct uint3  { unsigned x,y,z   ; };
0018 struct uint2  { unsigned x,y ; };
0019 struct uint1  { unsigned x ; };
0020 
0021 struct char4   { char x,y,z,w ; };
0022 struct uchar4  { unsigned char x,y,z,w ; };
0023 struct short4  { short x,y,z,w ; };
0024 struct ushort4 { unsigned short x,y,z,w ; };
0025 
0026 struct longlong4 { long long x, y, z, w ; };
0027 struct longlong3 { long long x, y, z ; };
0028 struct longlong2 { long long x, y ; };
0029 struct longlong1 { long long x ; };
0030 
0031 struct ulonglong4 { unsigned long long x, y, z, w ; };
0032 struct ulonglong3 { unsigned long long x, y, z ; };
0033 struct ulonglong2 { unsigned long long x, y ; };
0034 struct ulonglong1 { unsigned long long x ; };
0035 
0036 
0037 
0038 inline double4 make_double4(double x, double y, double z, double w){ double4 v{x,y,z,w} ; return v ; }
0039 inline double3 make_double3(double x, double y, double z){           double3 v{x,y,z} ; return v ; }
0040 inline double2 make_double2(double x, double y){                     double2 v{x,y} ; return v ; }
0041 
0042 
0043 
0044 inline float4 make_float4(float x, float y, float z, float w){ float4 v{x,y,z,w} ; return v ; }
0045 inline float3 make_float3(float x, float y, float z){          float3 v{x,y,z} ; return v ; }
0046 inline float2 make_float2(float x, float y){                   float2 v{x,y} ; return v ; }
0047 
0048 inline int2 make_int2(int x, int y){  int2 v{x,y} ; return v ; }
0049 inline int3 make_int3(int x, int y, int z){  int3 v{x,y,z} ; return v ; }
0050 inline int4 make_int4(int x, int y, int z, int w){  int4 v{x,y,z,w} ; return v ; }
0051 
0052 inline uint2 make_uint2(unsigned x, unsigned y){  uint2 v{x,y} ; return v ; }
0053 inline uint3 make_uint3(unsigned x, unsigned y, unsigned z){  uint3 v{x,y,z} ; return v ; }
0054 inline uint4 make_uint4(unsigned x, unsigned y, unsigned z, unsigned w){  uint4 v{x,y,z,w} ; return v ; }
0055 
0056 inline longlong4 make_longlong4(long long x, long long y, long long z, long long w){ longlong4 v{x,y,z,w} ; return v ; }
0057 inline longlong3 make_longlong3(long long x, long long y, long long z){ longlong3 v{x,y,z} ; return v ; }
0058 inline longlong2 make_longlong2(long long x, long long y){ longlong2 v{x,y} ; return v ; }
0059 
0060 inline ulonglong4 make_ulonglong4(unsigned long long x, unsigned long long y, unsigned long long z, unsigned long long w){ ulonglong4 v{x,y,z,w} ; return v ; }
0061 inline ulonglong3 make_ulonglong3(unsigned long long x, unsigned long long y, unsigned long long z){ ulonglong3 v{x,y,z} ; return v ; }
0062 inline ulonglong2 make_ulonglong2(unsigned long long x, unsigned long long y){ ulonglong2 v{x,y} ; return v ; }
0063 
0064 
0065