CSPspEmu.Core.Cpu.Emitter.CpuEmitter.vsocp C# (CSharp) Method

vsocp() public method

public vsocp ( ) : AstNodeStm
return AstNodeStm
        public AstNodeStm vsocp()
        {
            int VectorSize = ONE_TWO;
            //Console.WriteLine("VECTOR_SIZE: {0}", VectorSize);
            var VVD = VEC(VD, VType.VFloat, VectorSize * 2);
            var VVS = VEC(VS, VType.VFloat, VectorSize);
            return VVD.SetVector((Index) => {
                switch (Index)
                {
                    case 0: return ast.CallStatic((Func<float, float, float, float>)MathFloat.Clamp, 1f - VVS[0], 0f, 1f);
                    case 1: return ast.CallStatic((Func<float, float, float, float>)MathFloat.Clamp, VVS[0], 0f, 1f);
                    case 2: return ast.CallStatic((Func<float, float, float, float>)MathFloat.Clamp, 1f - VVS[1], 0f, 1f);
                    case 3: return ast.CallStatic((Func<float, float, float, float>)MathFloat.Clamp, VVS[1], 0f, 1f);
                    default: throw (new NotImplementedException("vsocp: " + Index));
                }
            }, PC);
        }
CpuEmitter