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

_comp() private method

Compare (condition) Single_
private _comp ( int fc02, int fc3 ) : AstNodeStm
fc02 int
fc3 int
return AstNodeStm
        private AstNodeStm _comp(int fc02, int fc3)
        {
            bool fc_unordererd = ((fc02 & 1) != 0);
            bool fc_equal = ((fc02 & 2) != 0);
            bool fc_less = ((fc02 & 4) != 0);
            bool fc_inv_qnan = (fc3 != 0); // TODO -- Only used for detecting invalid operations?

            //if (float.IsNaN(s) || float.IsNaN(t))
            //{
            //	CpuThreadState.Fcr31.CC = fc_unordererd;
            //}
            //else
            //{
            //	//bool cc = false;
            //	//if (fc_equal) cc = cc || (s == t);
            //	//if (fc_less) cc = cc || (s < t);
            //	//return cc;
            //	bool equal = (fc_equal) && (s == t);
            //	bool less = (fc_less) && (s < t);
            //
            //	CpuThreadState.Fcr31.CC = (less || equal);
            //}

            //MipsMethodEmitter.LoadFPR(FS);
            //MipsMethodEmitter.LoadFPR(FT);

            return ast.Statement(ast.CallStatic(
                (Action<CpuThreadState, float, float, bool, bool, bool, bool>)CpuEmitterUtils._comp_impl,
                ast.CpuThreadState,
                ast.FPR(FS),
                ast.FPR(FT),
                ast.Immediate(fc_unordererd),
                ast.Immediate(fc_equal),
                ast.Immediate(fc_less),
                ast.Immediate(fc_inv_qnan)
            ));
        }
CpuEmitter