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

vmmul() public method

public vmmul ( ) : AstNodeStm
return AstNodeStm
        public AstNodeStm vmmul()
        {
            int VectorSize = Instruction.ONE_TWO;
            //var Dest = MAT(VD_NoPrefix);
            //var Src = MAT(VS_NoPrefix);
            //var Target = MAT(VT_NoPrefix);
            var Dest = MAT_VD;
            var Src = MAT_VS;
            var Target = MAT_VT;

            return Dest.SetMatrix((Column, Row) =>
            {
                var Adder = (AstNodeExpr)ast.Immediate(0f);
                for (int n = 0; n < VectorSize; n++)
                {
                    Adder += Target[Column, n] * Src[Row, n];
                    //Adder += Target[Column, n] * Src[Row, n];
                    //Adder += Target[Row, n] * Src[Column, n];
                    //Adder += Target[n, Column] * Src[n, Row];
                }
                return Adder;
            }, PC);
        }
CpuEmitter