CSPspEmu.Core.Tests.CpuEmitterTest.VfpuPrefixTest C# (CSharp) Method

VfpuPrefixTest() private method

private VfpuPrefixTest ( ) : void
return void
        public void VfpuPrefixTest()
        {
            CpuThreadState.Vfpr.ClearAll(float.NaN);

            CpuThreadState.Vfpr[4, "R100"] = new float[] { 1, 2, 0, 0 };
            CpuThreadState.Vfpr[4, "R101"] = new float[] { 50, 60, 70, 80 };

            ExecuteAssembly(@"
                vpfxs [x,-x,y,-y]
                vadd.q C200, R100, R101

                vpfxs [0, 1/2, 1/4, 1/6]
                vadd.q C210, R100, R101

                vpfxs [0, 0, 0, 0]
                vpfxt [-2, 2, -2, 2]
                vpfxd [0:1, M, -1:1, 0:1]
                vadd.q C220, R100, R101
            ");

            CpuThreadState.DumpVfpuRegisters(Console.Error);

            Assert.AreEqual("51,59,72,78", String.Join(",", CpuThreadState.Vfpr[4, "C200"]));
            Assert.AreEqual("50,60.5,70.25,80.16666", String.Join(",", CpuThreadState.Vfpr[4, "C210"]));
            Assert.AreEqual("0,2,-1,1", String.Join(",", CpuThreadState.Vfpr[4, "C220"]));
        }