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(); }
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