CSPspEmu.Core.Cpu.Emitter.CpuEmitterUtils._cvt_w_s_impl C# (CSharp) Method

_cvt_w_s_impl() public static method

public static _cvt_w_s_impl ( CpuThreadState CpuThreadState, float FS ) : int
CpuThreadState CpuThreadState
FS float
return int
        public static int _cvt_w_s_impl(CpuThreadState CpuThreadState, float FS)
        {
            //Console.WriteLine("_cvt_w_s_impl: {0}", CpuThreadState.FPR[FS]);
            switch (CpuThreadState.Fcr31.RM)
            {
                case CpuThreadState.FCR31.TypeEnum.Rint: return (int)MathFloat.Rint(FS);
                case CpuThreadState.FCR31.TypeEnum.Cast: return (int)MathFloat.Cast(FS);
                case CpuThreadState.FCR31.TypeEnum.Ceil: return (int)MathFloat.Ceil(FS);
                case CpuThreadState.FCR31.TypeEnum.Floor: return (int)MathFloat.Floor(FS);
            }

            throw(new InvalidCastException("RM has an invalid value!!"));
            //case CpuThreadState.FCR31.TypeEnum.Floor: CpuThreadState.FPR_I[FD] = (int)MathFloat.Floor(CpuThreadState.FPR[FS]); break;
        }