예제 #1
0
 public static bool3x2 transpose(bool2x3 v)
 {
     return(bool3x2(
                v.c0.x, v.c0.y,
                v.c1.x, v.c1.y,
                v.c2.x, v.c2.y));
 }
예제 #2
0
 public static uint hash(bool2x3 v)
 {
     return(csum(select(uint2(0x9B13B92Du, 0x4ABF0813u), uint2(0x86068063u, 0xD75513F9u), v.c0) +
                 select(uint2(0x5AB3E8CDu, 0x676E8407u), uint2(0xB36DE767u, 0x6FCA387Du), v.c1) +
                 select(uint2(0xAF0F3103u, 0xE4A056C7u), uint2(0x841D8225u, 0xC9393C7Du), v.c2)));
 }
예제 #3
0
 public static uint2 hashwide(bool2x3 v)
 {
     return(select(uint2(0xA47EC335u, 0xA477DF57u), uint2(0xC4B1493Fu, 0xBA0966D3u), v.c0) +
            select(uint2(0xAFBEE253u, 0x5B419C01u), uint2(0x515D90F5u, 0xEC9F68F3u), v.c1) +
            select(uint2(0xF9EA92D5u, 0xC2FAFCB9u), uint2(0x616E9CA1u, 0xC5C5394Bu), v.c2));
 }
예제 #4
0
 public float2x3(bool2x3 v)
 {
     this.c0 = math.select(new float2(0.0f), new float2(1.0f), v.c0);
     this.c1 = math.select(new float2(0.0f), new float2(1.0f), v.c1);
     this.c2 = math.select(new float2(0.0f), new float2(1.0f), v.c2);
 }
예제 #5
0
 public static uint hash(bool2x3 v)
 {
     return(csum(select(uint2(0x7BE39F3Bu, 0xFAB9913Fu), uint2(0xB4501269u, 0xE04B89FDu), v.c0) +
                 select(uint2(0xDB3DE101u, 0x7B6D1B4Bu), uint2(0x58399E77u, 0x5EAC29C9u), v.c1) +
                 select(uint2(0xFC6014F9u, 0x6BF6693Fu), uint2(0x9D1B1D9Bu, 0xF842F5C1u), v.c2)));
 }
예제 #6
0
 public static uint2 hashwide(bool2x3 v)
 {
     return(select(uint2(0x509B84C9u, 0x91D13847u), uint2(0x52F7230Fu, 0xCF286E83u), v.c0) +
            select(uint2(0xE121E6ADu, 0xC9CA1249u), uint2(0x69B60C81u, 0xE0EB6C25u), v.c1) +
            select(uint2(0xF648BEABu, 0x6BDB2B07u), uint2(0xEF63C699u, 0x9001903Fu), v.c2));
 }
예제 #7
0
 public static float2x3 float2x3(bool2x3 v)
 {
     return(new float2x3(v));
 }
예제 #8
0
 public static uint2x3 uint2x3(bool2x3 v)
 {
     return(new uint2x3(v));
 }
예제 #9
0
 public static uint hash(bool2x3 v)
 {
     return(csum(select(uint2(0x616E9CA1u, 0xC5C5394Bu), uint2(0xCAE78587u, 0x7A1541C9u), v.c0) +
                 select(uint2(0xF83BD927u, 0x6A243BCBu), uint2(0x509B84C9u, 0x91D13847u), v.c1) +
                 select(uint2(0x52F7230Fu, 0xCF286E83u), uint2(0xE121E6ADu, 0xC9CA1249u), v.c2)));
 }
예제 #10
0
 public static int2x3 int2x3(bool2x3 v)
 {
     return(new int2x3(v));
 }
예제 #11
0
 public uint2x3(bool2x3 v)
 {
     this.c0 = math.select(new uint2(0u), new uint2(1u), v.c0);
     this.c1 = math.select(new uint2(0u), new uint2(1u), v.c1);
     this.c2 = math.select(new uint2(0u), new uint2(1u), v.c2);
 }
예제 #12
0
 public int2x3(bool2x3 v)
 {
     this.c0 = math.select(new int2(0), new int2(1), v.c0);
     this.c1 = math.select(new int2(0), new int2(1), v.c1);
     this.c2 = math.select(new int2(0), new int2(1), v.c2);
 }
예제 #13
0
 public fix64p2x3(bool2x3 v)
 {
     this.c0 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c0);
     this.c1 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c1);
     this.c2 = math.select(new fix64p2(fix64p.zero), new fix64p2(fix64p.One), v.c2);
 }
예제 #14
0
 public static fix64p2x3 fix64p2x3(bool2x3 v)
 {
     return(new fix64p2x3(v));
 }
예제 #15
0
 public static double2x3 double2x3(bool2x3 v)
 {
     return(new double2x3(v));
 }
예제 #16
0
 public static uint2 hashwide(bool2x3 v)
 {
     return(select(uint2(0x69B60C81u, 0xE0EB6C25u), uint2(0xF648BEABu, 0x6BDB2B07u), v.c0) +
            select(uint2(0xEF63C699u, 0x9001903Fu), uint2(0xA895B9CDu, 0x9D23B201u), v.c1) +
            select(uint2(0x4B01D3E1u, 0x7461CA0Du), uint2(0x79725379u, 0xD6258E5Bu), v.c2));
 }
예제 #17
0
 public double2x3(bool2x3 v)
 {
     this.c0 = math.select(new double2(0.0), new double2(1.0), v.c0);
     this.c1 = math.select(new double2(0.0), new double2(1.0), v.c1);
     this.c2 = math.select(new double2(0.0), new double2(1.0), v.c2);
 }
예제 #18
0
 public static uint hash(bool2x3 v)
 {
     return(csum(select(uint2(0xAFBEE253u, 0x5B419C01u), uint2(0x515D90F5u, 0xEC9F68F3u), v.c0) +
                 select(uint2(0xF9EA92D5u, 0xC2FAFCB9u), uint2(0x616E9CA1u, 0xC5C5394Bu), v.c1) +
                 select(uint2(0xCAE78587u, 0x7A1541C9u), uint2(0xF83BD927u, 0x6A243BCBu), v.c2)));
 }