private void GenerateReport(FantasyProjectionReportConfig rpt)
 {
     FPR.Season = rpt.Season;
     FPR.Week   = rpt.Week;
     FPR.PgmDao = rpt.Dao;
     FPR.Scorer = rpt.Scorer;
     FPR.League = rpt.League;
     FPR.RenderAll();
 }
示例#2
0
        private void button2_Click(object sender, EventArgs e)
        {
            double temperature = hScrollBar1.Value + 215;
            double speed = hScrollBar2.Value * 10.0;
            double pressure = vScrollBar3.Value;
            double throttle = 100.0 - vScrollBar2.Value;
            
            status_string = "Temperature:\t" + temperature.ToString() + " K\r\n"
                + "Throttle:\t\t" + throttle.ToString() + " %\r\n"
                + "Pressure:\t\t" + pressure.ToString() + " Kpa\r\n"
                + "Speed:\t\t" + speed.ToString() + " m/s\r\n";

            status_string += "\r\n\r\n";
            status_string += "\tMODULE\r\n";
            status_string += "\t{\r\n";
            status_string += "\t\tname = AJEModule\r\n";
            status_string += "\t\tArea = " + Area.ToString() + "\r\n";
            status_string += "\t\tBPR = " + BPR.ToString() + "\r\n";
            status_string += "\t\tCPR = " + CPR.ToString() + "\r\n";
            status_string += "\t\tFPR = " + FPR.ToString() + "\r\n";
            status_string += "\t\tMdes = " + Mach_D.ToString() + "\r\n";
            status_string += "\t\tTdes = " + Temp_D.ToString() + "\r\n";
            status_string += "\t\teta_c = " + eta_c.ToString() + "\r\n";
            status_string += "\t\teta_t = " + eta_t.ToString() + "\r\n";
            status_string += "\t\teta_n = " + eta_n.ToString() + "\r\n";
            status_string += "\t\tFHV = " + FHV.ToString() + "\r\n";
            status_string += "\t\tTIT = " + TIT.ToString() + "\r\n";
            status_string += "\t\tTAB = " + TAB.ToString() + "\r\n";
            status_string += "\t\texhaustMixer = " + checkBox1.Checked.ToString() + "\r\n";
            status_string += "\t\tmaxThrust = 999999\r\n";
            status_string += "\t\tmaxT3 = 9999\r\n";
            status_string += "\t}\r\n\r\n\r\n";

            aje.InitializeOverallEngineData(
                Area,
                TPR,
                BPR,
                CPR,
                FPR,
                Mach_D,
                Temp_D,
                eta_c,
                eta_t,
                eta_n,
                FHV,
                TIT,
                TAB,
                checkBox1.Checked
            );
            aje.CalculatePerformance(pressure, temperature, speed, throttle/100);
            result_string = aje.debugstring;
        }
        /// <summary>
        /// Execute a extension instruction. Decode it and execute it.
        /// </summary>
        /// <param name="opCode">opcode of instruction</param>
        /// <param name="Fd">Fd register</param>
        /// <param name="Fm">Fm register</param>
        /// <returns>number of clock cyces used</returns>
        public uint extension_instructions(uint opCode, uint Fd, uint Fm)
        {
            bool singleType = isSingle(opCode);

            uint Fn = (opCode >> 15);

            Fn &= 0x1e;
            Fn |= ((opCode >> 7) & 0x01);

            switch (Fn)
            {
            case 0x00:
                //fcpys,fcpyd:Fd = Fm
                if (_FPR.isNaN(Fm, singleType))
                {
                    throw new InvalidOperationFloatingPointException("fcpy", singleType);
                }

                if (singleType)
                {
                    _FPR.WriteS(Fd, _FPR.ReadS(Fm));
                }
                else
                {
                    _FPR.WriteD(Fd, _FPR.ReadD(Fm));
                }
                break;

            case 0x01:
                //fabss,fabsd:Fd = abs(Fm)
                if (_FPR.isNaN(Fm, singleType))
                {
                    throw new InvalidOperationFloatingPointException("fabs", singleType);
                }

                if (singleType)
                {
                    _FPR.WriteS(Fd, System.Math.Abs(_FPR.ReadS(Fm)));
                }
                else
                {
                    _FPR.WriteD(Fd, System.Math.Abs(_FPR.ReadD(Fm)));
                }
                break;

            case 0x02:
                //fnegs,fnegd:Fd = -Fm
                if (_FPR.isNaN(Fm, singleType))
                {
                    throw new InvalidOperationFloatingPointException("fneg", singleType);
                }

                if (singleType)
                {
                    _FPR.WriteS(Fd, -(_FPR.ReadS(Fm)));
                }
                else
                {
                    _FPR.WriteD(Fd, -(_FPR.ReadD(Fm)));
                }
                break;

            case 0x03:
                //fsqrts,fsqrtd:Fd = sqrt(Fm)
                if (_FPR.isNaN(Fm, singleType))
                {
                    throw new InvalidOperationFloatingPointException("fsqrt", singleType);
                }

                if (singleType)
                {
                    _FPR.WriteS(Fd, (float)System.Math.Sqrt(_FPR.ReadS(Fm)));
                }
                else
                {
                    _FPR.WriteD(Fd, System.Math.Sqrt(_FPR.ReadD(Fm)));
                }
                break;

            case 0x08:
                //fcmps,fcmpd:Compare Fd to Fm,no exceptions on Nan
                if (singleType)
                {
                    compareFPS("fcmps", true, _FPR.ReadS(Fd), _FPR.ReadS(Fm));
                }
                else
                {
                    compareFPD("fcmps", true, _FPR.ReadD(Fd), _FPR.ReadD(Fm));
                }
                break;

            case 0x09:
                //fcmpes,fcmped:Compare Fd to Fm,exceptions on Nan
                if (singleType)
                {
                    compareFPS("fcmpe", false, FPR.ReadS(Fd), _FPR.ReadS(Fm));
                }
                else
                {
                    compareFPD("fcmpe", false, FPR.ReadD(Fd), _FPR.ReadD(Fm));
                }

                break;

            case 0x0a:
                //fcmpzs,fcmpzd:Compare Fd to 0,no exceptions on Nan
                if (singleType)
                {
                    compareFPS("fcmpzs", true, _FPR.ReadS(Fd), (float)0.0);
                }
                else
                {
                    compareFPD("fcmpzs", true, _FPR.ReadD(Fd), (double)0.0);
                }
                break;

            case 0x0b:
                //fcmpezs,fcmpezd:Compare Fd to 0,exceptions on Nan
                if (singleType)
                {
                    compareFPS("fcmpez", false, _FPR.ReadS(Fd), (float)0.0);
                }
                else
                {
                    compareFPD("fcmpez", false, _FPR.ReadD(Fd), (double)0.0);
                }
                break;

            case 0x0f:
                //fcvtds,fcvtsd
                if (singleType)
                {
                    //fcvtds:single to double
                    Fd = (opCode >> 12) & 0x0f;

                    if (_FPR.isNaN(Fm, true))
                    {
                        throw new InvalidOperationFloatingPointException("fcvtd", true);
                    }
                    _FPR.WriteD(Fd, (double)_FPR.ReadS(Fm));
                }
                else
                {
                    //fcvtsd:double to single
                    Fd  = (opCode >> 11);
                    Fd &= 0x1e;
                    Fd |= ((opCode >> 22) & 0x01);

                    double dvalue = _FPR.ReadD(Fm);
                    if (double.IsNaN(dvalue))
                    {
                        throw new InvalidOperationFloatingPointException("fcvts", false);
                    }

                    if (dvalue > float.MaxValue)
                    {
                        throw new OverflowFloatingPointException("fcvts", false);
                    }

                    if (dvalue < float.MinValue)
                    {
                        throw new UnderflowFloatingPointException("fcvts", false);
                    }

                    _FPR.WriteS(Fd, (float)dvalue);
                }
                break;

            case 0x10:
            {
                //fuitos,fuitod
                //Fd = Fm
                if (_FPR.isNaN(Fm, singleType))
                {
                    throw new InvalidOperationFloatingPointException("fuito", singleType);
                }

                uint udata = _FPR.ReadRaw(Fm);
                if (singleType)
                {
                    _FPR.WriteS(Fd, (float)udata);
                }
                else
                {
                    _FPR.WriteD(Fd, (double)udata);
                }
            }
            break;

            case 0x11:
                //fsitos,fsitod
                //Fd = Fm
            {
                Fm  = (opCode << 1);
                Fm &= 0x1e;
                Fm |= ((opCode >> 5) & 0x01);

                int idata = (int)_FPR.ReadRaw(Fm);
                if (singleType)
                {
                    _FPR.WriteS(Fd, (float)idata);
                }
                else
                {
                    _FPR.WriteD(Fd, (double)idata);
                }
            }
            break;

            case 0x18:
            case 0x19:
                //ftouis,ftouid
                //Fd = Fm
                if (_FPR.isNaN(Fm, singleType))
                {
                    throw new InvalidOperationFloatingPointException("ftoui", singleType);
                }

                if (singleType)
                {
                    _FPR.WriteRaw(Fd, (uint)_FPR.ReadS(Fm));
                }
                else
                {
                    _FPR.WriteRaw(Fd, (uint)_FPR.ReadD(Fm));
                }
                break;

            case 0x1a:
            case 0x1b:
            {
                //ftosis,ftosid
                //Fd = Fm
                if (_FPR.isNaN(Fm, singleType))
                {
                    throw new InvalidOperationFloatingPointException("ftosi", singleType);
                }

                Fd  = (opCode >> 11);
                Fd &= 0x1e;
                Fd |= ((opCode >> 22) & 0x01);

                if (singleType)
                {
                    _FPR.WriteRaw(Fd, (uint)(int)_FPR.ReadS(Fm));
                }
                else
                {
                    int num = (int)_FPR.ReadD(Fm);
                    _FPR.WriteRaw(Fd, (uint)num);
                }
            }
            break;

            default:
                return(0);
            } //switch
            return(1);
        }     //extension_instructions