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