예제 #1
0
 public static int4x2 int4x2(bool4x2 v)
 {
     return(new int4x2(v));
 }
예제 #2
0
 public static uint4x2 uint4x2(bool4x2 v)
 {
     return(new uint4x2(v));
 }
예제 #3
0
 public int4x2(bool4x2 v)
 {
     this.c0 = math.select(new int4(0), new int4(1), v.c0);
     this.c1 = math.select(new int4(0), new int4(1), v.c1);
 }
예제 #4
0
 public static uint hash(bool4x2 v)
 {
     return(csum(select(uint4(0xCAE78587u, 0x7A1541C9u, 0xF83BD927u, 0x6A243BCBu), uint4(0x509B84C9u, 0x91D13847u, 0x52F7230Fu, 0xCF286E83u), v.c0) +
                 select(uint4(0xE121E6ADu, 0xC9CA1249u, 0x69B60C81u, 0xE0EB6C25u), uint4(0xF648BEABu, 0x6BDB2B07u, 0xEF63C699u, 0x9001903Fu), v.c1)));
 }
예제 #5
0
 public uint4x2(bool4x2 v)
 {
     this.c0 = math.select(new uint4(0u), new uint4(1u), v.c0);
     this.c1 = math.select(new uint4(0u), new uint4(1u), v.c1);
 }
예제 #6
0
 public static uint4 hashwide(bool4x2 v)
 {
     return(select(uint4(0x8C4CA03Fu, 0xB8D969EDu, 0xAC5DB57Bu, 0xA91A02EDu), uint4(0xB3C49313u, 0xF43A9ABBu, 0x84E7E01Bu, 0x8E055BE5u), v.c0) +
            select(uint4(0x6E624EB7u, 0x7383ED49u, 0xDD49C23Bu, 0xEBD0D005u), uint4(0x91475DF7u, 0x55E84827u, 0x90A285BBu, 0x5D19E1D5u), v.c1));
 }
예제 #7
0
 public static bool2x4 transpose(bool4x2 v)
 {
     return(bool2x4(
                v.c0.x, v.c0.y, v.c0.z, v.c0.w,
                v.c1.x, v.c1.y, v.c1.z, v.c1.w));
 }
 public float4x2(bool4x2 v)
 {
     this.c0 = math.select(new float4(0.0f), new float4(1.0f), v.c0);
     this.c1 = math.select(new float4(0.0f), new float4(1.0f), v.c1);
 }
예제 #9
0
 public static uint hash(bool4x2 v)
 {
     return(csum(select(uint4(0xD19764C7u, 0xB5D0BF63u, 0xF9102C5Fu, 0x9881FB9Fu), uint4(0x56A1530Du, 0x804B722Du, 0x738E50E5u, 0x4FC93C25u), v.c0) +
                 select(uint4(0xCD0445A5u, 0xD2B90D9Bu, 0xD35C9B2Du, 0xA10D9E27u), uint4(0x568DAAA9u, 0x7530254Fu, 0x9F090439u, 0x5E9F85C9u), v.c1)));
 }
예제 #10
0
 public fix64p4x2(bool4x2 v)
 {
     this.c0 = math.select(new fix64p4(fix64p.zero), new fix64p4(fix64p.One), v.c0);
     this.c1 = math.select(new fix64p4(fix64p.zero), new fix64p4(fix64p.One), v.c1);
 }
 public static float4x2 float4x2(bool4x2 v)
 {
     return(new float4x2(v));
 }
예제 #12
0
 public static fix64p4x2 fix64p4x2(bool4x2 v)
 {
     return(new fix64p4x2(v));
 }
예제 #13
0
 public static uint4 hash_wide(bool4x2 v)
 {
     return(select(uint4(0xB3C49313u, 0xF43A9ABBu, 0x84E7E01Bu, 0x8E055BE5u), uint4(0x6E624EB7u, 0x7383ED49u, 0xDD49C23Bu, 0xEBD0D005u), v.c0) +
            select(uint4(0x91475DF7u, 0x55E84827u, 0x90A285BBu, 0x5D19E1D5u), uint4(0xFAAF07DDu, 0x625C45BDu, 0xC9F27FCBu, 0x6D2523B1u), v.c1));
 }
예제 #14
0
 public static uint hash(bool4x2 v)
 {
     return(csum(select(uint4(0x56A1530Du, 0x804B722Du, 0x738E50E5u, 0x4FC93C25u), uint4(0xCD0445A5u, 0xD2B90D9Bu, 0xD35C9B2Du, 0xA10D9E27u), v.c0) +
                 select(uint4(0x568DAAA9u, 0x7530254Fu, 0x9F090439u, 0x5E9F85C9u), uint4(0x8C4CA03Fu, 0xB8D969EDu, 0xAC5DB57Bu, 0xA91A02EDu), v.c1)));
 }
예제 #15
0
 public double4x2(bool4x2 v)
 {
     this.c0 = math.select(new double4(0.0), new double4(1.0), v.c0);
     this.c1 = math.select(new double4(0.0), new double4(1.0), v.c1);
 }
예제 #16
0
 public static double4x2 double4x2(bool4x2 v)
 {
     return(new double4x2(v));
 }