public fix64p4x4(int v)
 {
     this.c0 = (fix64p4)v;
     this.c1 = (fix64p4)v;
     this.c2 = (fix64p4)v;
     this.c3 = (fix64p4)v;
 }
 public fix64p4x4(fix64p4 c0, fix64p4 c1, fix64p4 c2, fix64p4 c3)
 {
     this.c0 = c0;
     this.c1 = c1;
     this.c2 = c2;
     this.c3 = c3;
 }
示例#3
0
        public static void fix64p4_operator_equal_scalar_wide()
        {
            fix64p  a0 = (new fix64p(36.38391f));
            fix64p4 b0 = fix64p4(new fix64p(-400.4892f), new fix64p(-71.2868347f), new fix64p(156.978088f), new fix64p(-225.238739f));
            bool4   r0 = bool4(false, false, false, false);

            TestUtils.AreEqual(a0 == b0, r0);

            fix64p  a1 = (new fix64p(499.141785f));
            fix64p4 b1 = fix64p4(new fix64p(-211.979919f), new fix64p(428.311951f), new fix64p(-489.501343f), new fix64p(-5.691559f));
            bool4   r1 = bool4(false, false, false, false);

            TestUtils.AreEqual(a1 == b1, r1);

            fix64p  a2 = (new fix64p(-30.8659363f));
            fix64p4 b2 = fix64p4(new fix64p(-362.9831f), new fix64p(184.503174f), new fix64p(-160.470612f), new fix64p(316.668823f));
            bool4   r2 = bool4(false, false, false, false);

            TestUtils.AreEqual(a2 == b2, r2);

            fix64p  a3 = (new fix64p(390.369263f));
            fix64p4 b3 = fix64p4(new fix64p(505.1051f), new fix64p(-294.6487f), new fix64p(443.1991f), new fix64p(96.5592651f));
            bool4   r3 = bool4(false, false, false, false);

            TestUtils.AreEqual(a3 == b3, r3);
        }
 public fix64p4x4(int4x4 v)
 {
     this.c0 = (fix64p4)v.c0;
     this.c1 = (fix64p4)v.c1;
     this.c2 = (fix64p4)v.c2;
     this.c3 = (fix64p4)v.c3;
 }
示例#5
0
        public static void fix64p4_operator_not_equal_wide_scalar()
        {
            fix64p4 a0 = fix64p4(new fix64p(-155.4411f), new fix64p(-19.4266052f), new fix64p(174.633057f), new fix64p(507.920715f));
            fix64p  b0 = (new fix64p(-393.413544f));
            bool4   r0 = bool4(true, true, true, true);

            TestUtils.AreEqual(a0 != b0, r0);

            fix64p4 a1 = fix64p4(new fix64p(59.177063f), new fix64p(-58.92328f), new fix64p(-398.176849f), new fix64p(492.20105f));
            fix64p  b1 = (new fix64p(171.151489f));
            bool4   r1 = bool4(true, true, true, true);

            TestUtils.AreEqual(a1 != b1, r1);

            fix64p4 a2 = fix64p4(new fix64p(-165.241516f), new fix64p(-380.243256f), new fix64p(501.899048f), new fix64p(-134.345459f));
            fix64p  b2 = (new fix64p(270.341f));
            bool4   r2 = bool4(true, true, true, true);

            TestUtils.AreEqual(a2 != b2, r2);

            fix64p4 a3 = fix64p4(new fix64p(458.400452f), new fix64p(161.459961f), new fix64p(261.514221f), new fix64p(-145.6124f));
            fix64p  b3 = (new fix64p(46.7709961f));
            bool4   r3 = bool4(true, true, true, true);

            TestUtils.AreEqual(a3 != b3, r3);
        }
示例#6
0
        public static void fix64p4_operator_not_equal_wide_wide()
        {
            fix64p4 a0 = fix64p4(new fix64p(279.994141f), new fix64p(-43.34201f), new fix64p(-465.724731f), new fix64p(317.466553f));
            fix64p4 b0 = fix64p4(new fix64p(-460.9121f), new fix64p(-476.009033f), new fix64p(468.1364f), new fix64p(-341.012543f));
            bool4   r0 = bool4(true, true, true, true);

            TestUtils.AreEqual(a0 != b0, r0);

            fix64p4 a1 = fix64p4(new fix64p(85.7149658f), new fix64p(360.8905f), new fix64p(366.081543f), new fix64p(154.542847f));
            fix64p4 b1 = fix64p4(new fix64p(-62.65805f), new fix64p(-458.801666f), new fix64p(-457.730225f), new fix64p(-59.5232544f));
            bool4   r1 = bool4(true, true, true, true);

            TestUtils.AreEqual(a1 != b1, r1);

            fix64p4 a2 = fix64p4(new fix64p(332.4262f), new fix64p(397.11322f), new fix64p(-431.374969f), new fix64p(489.0108f));
            fix64p4 b2 = fix64p4(new fix64p(3.024231f), new fix64p(155.812744f), new fix64p(-19.8399048f), new fix64p(-6.01693726f));
            bool4   r2 = bool4(true, true, true, true);

            TestUtils.AreEqual(a2 != b2, r2);

            fix64p4 a3 = fix64p4(new fix64p(398.4336f), new fix64p(-489.817932f), new fix64p(171.4049f), new fix64p(-67.82968f));
            fix64p4 b3 = fix64p4(new fix64p(-406.207916f), new fix64p(-102.420715f), new fix64p(-40.362915f), new fix64p(452.6754f));
            bool4   r3 = bool4(true, true, true, true);

            TestUtils.AreEqual(a3 != b3, r3);
        }
示例#7
0
        public static void fix64p4_operator_equal_wide_wide()
        {
            fix64p4 a0 = fix64p4(new fix64p(-135.18924f), new fix64p(-49.0941162f), new fix64p(169.129822f), new fix64p(240.8053f));
            fix64p4 b0 = fix64p4(new fix64p(-220.014648f), new fix64p(66.98004f), new fix64p(499.2016f), new fix64p(-371.1131f));
            bool4   r0 = bool4(false, false, false, false);

            TestUtils.AreEqual(a0 == b0, r0);

            fix64p4 a1 = fix64p4(new fix64p(314.7392f), new fix64p(442.393f), new fix64p(177.924438f), new fix64p(335.5334f));
            fix64p4 b1 = fix64p4(new fix64p(208.448669f), new fix64p(390.8037f), new fix64p(-72.44382f), new fix64p(362.97644f));
            bool4   r1 = bool4(false, false, false, false);

            TestUtils.AreEqual(a1 == b1, r1);

            fix64p4 a2 = fix64p4(new fix64p(168.15448f), new fix64p(350.729553f), new fix64p(367.178467f), new fix64p(46.9414673f));
            fix64p4 b2 = fix64p4(new fix64p(194.678345f), new fix64p(471.644836f), new fix64p(-404.044678f), new fix64p(-144.696747f));
            bool4   r2 = bool4(false, false, false, false);

            TestUtils.AreEqual(a2 == b2, r2);

            fix64p4 a3 = fix64p4(new fix64p(188.76416f), new fix64p(-97.2113953f), new fix64p(-293.320984f), new fix64p(-234.822937f));
            fix64p4 b3 = fix64p4(new fix64p(-494.446655f), new fix64p(-252.970367f), new fix64p(234.417114f), new fix64p(398.724f));
            bool4   r3 = bool4(false, false, false, false);

            TestUtils.AreEqual(a3 == b3, r3);
        }
示例#8
0
        public static void fix64p4_operator_not_equal_scalar_wide()
        {
            fix64p  a0 = (new fix64p(478.353149f));
            fix64p4 b0 = fix64p4(new fix64p(459.553223f), new fix64p(436.453247f), new fix64p(-488.714172f), new fix64p(392.767944f));
            bool4   r0 = bool4(true, true, true, true);

            TestUtils.AreEqual(a0 != b0, r0);

            fix64p  a1 = (new fix64p(-266.736633f));
            fix64p4 b1 = fix64p4(new fix64p(338.557861f), new fix64p(-338.100128f), new fix64p(-152.314545f), new fix64p(-452.820679f));
            bool4   r1 = bool4(true, true, true, true);

            TestUtils.AreEqual(a1 != b1, r1);

            fix64p  a2 = (new fix64p(209.439331f));
            fix64p4 b2 = fix64p4(new fix64p(50.10797f), new fix64p(372.4344f), new fix64p(-488.0213f), new fix64p(489.740784f));
            bool4   r2 = bool4(true, true, true, true);

            TestUtils.AreEqual(a2 != b2, r2);

            fix64p  a3 = (new fix64p(270.4001f));
            fix64p4 b3 = fix64p4(new fix64p(-472.846771f), new fix64p(-286.850464f), new fix64p(-384.691864f), new fix64p(443.423523f));
            bool4   r3 = bool4(true, true, true, true);

            TestUtils.AreEqual(a3 != b3, r3);
        }
示例#9
0
        public static void fix64p4_operator_equal_wide_scalar()
        {
            fix64p4 a0 = fix64p4(new fix64p(65.6712f), new fix64p(404.415527f), new fix64p(-269.730164f), new fix64p(83.6306152f));
            fix64p  b0 = (new fix64p(-155.815765f));
            bool4   r0 = bool4(false, false, false, false);

            TestUtils.AreEqual(a0 == b0, r0);

            fix64p4 a1 = fix64p4(new fix64p(152.9945f), new fix64p(314.671265f), new fix64p(386.365173f), new fix64p(290.04895f));
            fix64p  b1 = (new fix64p(-155.868286f));
            bool4   r1 = bool4(false, false, false, false);

            TestUtils.AreEqual(a1 == b1, r1);

            fix64p4 a2 = fix64p4(new fix64p(-132.6352f), new fix64p(-69.68326f), new fix64p(-191.190765f), new fix64p(186.845215f));
            fix64p  b2 = (new fix64p(-65.66748f));
            bool4   r2 = bool4(false, false, false, false);

            TestUtils.AreEqual(a2 == b2, r2);

            fix64p4 a3 = fix64p4(new fix64p(-232.895691f), new fix64p(-49.70108f), new fix64p(-300.8819f), new fix64p(333.396851f));
            fix64p  b3 = (new fix64p(-319.144043f));
            bool4   r3 = bool4(false, false, false, false);

            TestUtils.AreEqual(a3 == b3, r3);
        }
示例#10
0
 public static void AreEqual(fix64p4 a, fix64p4 b, float delta = 0.0f)
 {
     AreEqual(a.x, b.x, delta);
     AreEqual(a.y, b.y, delta);
     AreEqual(a.z, b.z, delta);
     AreEqual(a.w, b.w, delta);
 }
 public fix64p4x4(bool4x4 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);
     this.c2 = math.select(new fix64p4(fix64p.zero), new fix64p4(fix64p.One), v.c2);
     this.c3 = math.select(new fix64p4(fix64p.zero), new fix64p4(fix64p.One), v.c3);
 }
 public fix64p4x4(fix64p v)
 {
     this.c0 = v;
     this.c1 = v;
     this.c2 = v;
     this.c3 = v;
 }
示例#13
0
 public fix64p4x2(fix64p m00, fix64p m01,
                  fix64p m10, fix64p m11,
                  fix64p m20, fix64p m21,
                  fix64p m30, fix64p m31)
 {
     this.c0 = new fix64p4(m00, m10, m20, m30);
     this.c1 = new fix64p4(m01, m11, m21, m31);
 }
示例#14
0
 public fix64p4x3(fix64p m00, fix64p m01, fix64p m02,
                  fix64p m10, fix64p m11, fix64p m12,
                  fix64p m20, fix64p m21, fix64p m22,
                  fix64p m30, fix64p m31, fix64p m32)
 {
     this.c0 = new fix64p4(m00, m10, m20, m30);
     this.c1 = new fix64p4(m01, m11, m21, m31);
     this.c2 = new fix64p4(m02, m12, m22, m32);
 }
示例#15
0
        public static void fix64p4_static_scalar_constructor()
        {
            fix64p4 a = fix64p4(new fix64p(17.0f));

            TestUtils.AreEqual(a.x, new fix64p(17.0f));
            TestUtils.AreEqual(a.y, new fix64p(17.0f));
            TestUtils.AreEqual(a.z, new fix64p(17.0f));
            TestUtils.AreEqual(a.w, new fix64p(17.0f));
        }
示例#16
0
        public static void fix64p4_static_constructor()
        {
            fix64p4 a = fix64p4(new fix64p(1f), new fix64p(2f), new fix64p(3f), new fix64p(4f));

            TestUtils.AreEqual(a.x, new fix64p(1f));
            TestUtils.AreEqual(a.y, new fix64p(2f));
            TestUtils.AreEqual(a.z, new fix64p(3f));
            TestUtils.AreEqual(a.w, new fix64p(4f));
        }
 public fix64p4x4(fix64p m00, fix64p m01, fix64p m02, fix64p m03,
                  fix64p m10, fix64p m11, fix64p m12, fix64p m13,
                  fix64p m20, fix64p m21, fix64p m22, fix64p m23,
                  fix64p m30, fix64p m31, fix64p m32, fix64p m33)
 {
     this.c0 = new fix64p4(m00, m10, m20, m30);
     this.c1 = new fix64p4(m01, m11, m21, m31);
     this.c2 = new fix64p4(m02, m12, m22, m32);
     this.c3 = new fix64p4(m03, m13, m23, m33);
 }
示例#18
0
        public static void fix64p4_shuffle_result_1()
        {
            fix64p4 a = fix64p4(new fix64p(0f), new fix64p(1f), new fix64p(2f), new fix64p(3f));
            fix64p4 b = fix64p4(new fix64p(0f), new fix64p(1f), new fix64p(2f), new fix64p(3f));

            TestUtils.AreEqual(shuffle(a, b, ShuffleComponent.LeftX), (new fix64p(0f)));
            TestUtils.AreEqual(shuffle(a, b, ShuffleComponent.LeftY), (new fix64p(1f)));
            TestUtils.AreEqual(shuffle(a, b, ShuffleComponent.LeftZ), (new fix64p(2f)));
            TestUtils.AreEqual(shuffle(a, b, ShuffleComponent.LeftW), (new fix64p(3f)));
            TestUtils.AreEqual(shuffle(a, b, ShuffleComponent.RightX), (new fix64p(0f)));
            TestUtils.AreEqual(shuffle(a, b, ShuffleComponent.RightY), (new fix64p(1f)));
            TestUtils.AreEqual(shuffle(a, b, ShuffleComponent.RightZ), (new fix64p(2f)));
            TestUtils.AreEqual(shuffle(a, b, ShuffleComponent.RightW), (new fix64p(3f)));
        }
示例#19
0
 internal static uint4 fold_to_uint(fix64p4 x)
 {
     return(uint4(fold_to_uint(x.x), fold_to_uint(x.y), fold_to_uint(x.z), fold_to_uint(x.w)));
 }
示例#20
0
 public fix64p4x3(bool v)
 {
     this.c0 = math.select(new fix64p4(fix64p.zero), new fix64p4(fix64p.One), v);
     this.c1 = math.select(new fix64p4(fix64p.zero), new fix64p4(fix64p.One), v);
     this.c2 = math.select(new fix64p4(fix64p.zero), new fix64p4(fix64p.One), v);
 }
示例#21
0
 public fix64p4x3(int4x3 v)
 {
     this.c0 = (fix64p4)v.c0;
     this.c1 = (fix64p4)v.c1;
     this.c2 = (fix64p4)v.c2;
 }
示例#22
0
 public fix64p4x2(fix64p4 c0, fix64p4 c1)
 {
     this.c0 = c0;
     this.c1 = c1;
 }
示例#23
0
 public fix64p4x2(fix64p v)
 {
     this.c0 = v;
     this.c1 = v;
 }
示例#24
0
 public static fix64p4x2 fix64p4x2(fix64p4 c0, fix64p4 c1)
 {
     return(new fix64p4x2(c0, c1));
 }
示例#25
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);
 }
示例#26
0
 public fix64p4x2(int v)
 {
     this.c0 = (fix64p4)v;
     this.c1 = (fix64p4)v;
 }
示例#27
0
 public fix64p4x2(float v)
 {
     this.c0 = (fix64p4)v;
     this.c1 = (fix64p4)v;
 }
示例#28
0
 public fix64p4x2(float4x2 v)
 {
     this.c0 = (fix64p4)v.c0;
     this.c1 = (fix64p4)v.c1;
 }
示例#29
0
 public fix64p4x3(fix64p v)
 {
     this.c0 = v;
     this.c1 = v;
     this.c2 = v;
 }
 public static fix64p4x4 fix64p4x4(fix64p4 c0, fix64p4 c1, fix64p4 c2, fix64p4 c3)
 {
     return(new fix64p4x4(c0, c1, c2, c3));
 }