CSPspEmu.Core.Cpu.Emitter.CpuEmitter.vsrt4 C# (CSharp) Метод

vsrt4() публичный Метод

public vsrt4 ( ) : AstNodeStm
Результат AstNodeStm
        public AstNodeStm vsrt4()
        {
            int VectorSize = ONE_TWO;
            if (VectorSize != 4) return ast.Statement();

            var VVD = VEC(VD, VType.VFloat, VectorSize);
            var VVS = VEC(VS, VType.VFloat, VectorSize);

            return VVD.SetVector(Index =>
            {
                switch (Index)
                {
                    case 0: return ast.CallStatic((Func<float, float, float>)MathFloat.Max, VVS[0], VVS[3]);
                    case 1: return ast.CallStatic((Func<float, float, float>)MathFloat.Max, VVS[1], VVS[2]);
                    case 2: return ast.CallStatic((Func<float, float, float>)MathFloat.Min, VVS[1], VVS[2]);
                    case 3: return ast.CallStatic((Func<float, float, float>)MathFloat.Min, VVS[0], VVS[3]);
                    default: throw (new InvalidOperationException("vsrt4.Assert!"));
                }
            }, PC);
        }
CpuEmitter