public void Vcvt_I32_F64([Values(0u, 1u)] uint rd, [Values(0u, 1u, 2u, 3u)] uint rm, [ValueSource(nameof(_1S_))][Random(RndCnt)] uint s0, [ValueSource(nameof(_1S_))][Random(RndCnt)] uint s1, [ValueSource(nameof(_1S_))][Random(RndCnt)] uint s2, [ValueSource(nameof(_1S_))][Random(RndCnt)] uint s3, [Values] bool unsigned, // <U32, S32> [Values(RMode.Rn)] RMode rMode) { uint opcode = 0xeeb80b40u; // VCVT.F64.U32 D0, S0 if (!unsigned) { opcode |= 1 << 7; // op } opcode |= ((rm & 0x1e) >> 1) | ((rm & 0x1) << 5); opcode |= ((rd & 0xf) << 12) | ((rd & 0x10) << 18); V128 v0 = MakeVectorE0E1E2E3(s0, s1, s2, s3); int fpscr = (int)rMode << (int)Fpcr.RMode; SingleOpcode(opcode, v0: v0, fpscr: fpscr); CompareAgainstUnicorn(); }
public RVector(RMode mode, int length) { if (length < 0) { throw new ArgumentOutOfRangeException(nameof(length)); } this.Mode = mode; this.Length = length; }
private void CastR(RMode mode) { R.Range = UltRange; var targetSelectionMode = (RTSMode)this.Config["R"]["RTargetSelectMode"].Value; Obj_AI_Hero target = null; if (targetSelectionMode == RTSMode.ClosestMouse) { target = ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsValidTarget(UltRange)).OrderBy(x => x.Distance(Game.CursorPos)).FirstOrDefault(); } else if (targetSelectionMode == RTSMode.EasiestToKill) { target = ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsValidTarget(UltRange)).OrderBy(x => x.Health / Player.GetSpellDamage(x, SpellSlot.R)).FirstOrDefault(); } else if (targetSelectionMode == RTSMode.TS) { target = TargetSelector.GetTarget(UltRange); } else if (targetSelectionMode == RTSMode.Auto) { target = TargetSelector.Implementation.GetOrderedTargets(UltRange).OrderBy(x => x.Health / Player.GetSpellDamage(x, SpellSlot.R)).ThenBy(x => x.Distance(Game.CursorPos)).FirstOrDefault(); } //No suitable target found if (target == null) { return; } if (mode == RMode.Autocast) { if (Config["R"]["UseDelays"].Enabled) { var delay = Config["R"]["Delay" + UltimateTracker.ShotNumber].Value; if (Game.TickCount - UltimateTracker.LastChargeCastTime < delay) { return; } } R.Cast(target); } else if (mode == RMode.OnTap) { R.Cast(target); } }
public void Vrintx_S([Values(0u, 1u)] uint rd, [Values(0u, 1u)] uint rm, [Values(2u, 3u)] uint size, [ValueSource(nameof(_1D_F_))] ulong s0, [ValueSource(nameof(_1D_F_))] ulong s1, [ValueSource(nameof(_1D_F_))] ulong s2, [Values(RMode.Rn, RMode.Rm, RMode.Rp)] RMode rMode) { uint opcode = 0xEB70A40; V128 v0, v1, v2; if (size == 2) { opcode |= ((rm & 0x1e) >> 1) | ((rm & 0x1) << 5); opcode |= ((rd & 0x1e) >> 11) | ((rm & 0x1) << 22); v0 = MakeVectorE0E1((uint)BitConverter.SingleToInt32Bits(s0), (uint)BitConverter.SingleToInt32Bits(s0)); v1 = MakeVectorE0E1((uint)BitConverter.SingleToInt32Bits(s1), (uint)BitConverter.SingleToInt32Bits(s0)); v2 = MakeVectorE0E1((uint)BitConverter.SingleToInt32Bits(s2), (uint)BitConverter.SingleToInt32Bits(s1)); } else { opcode |= ((rm & 0xf) << 0) | ((rd & 0x10) << 1); opcode |= ((rd & 0xf) << 12) | ((rd & 0x10) << 18); v0 = MakeVectorE0E1((uint)BitConverter.DoubleToInt64Bits(s0), (uint)BitConverter.DoubleToInt64Bits(s0)); v1 = MakeVectorE0E1((uint)BitConverter.DoubleToInt64Bits(s1), (uint)BitConverter.DoubleToInt64Bits(s0)); v2 = MakeVectorE0E1((uint)BitConverter.DoubleToInt64Bits(s2), (uint)BitConverter.DoubleToInt64Bits(s1)); } opcode |= ((size & 3) << 8); int fpscr = (int)rMode << (int)Fpcr.RMode; SingleOpcode(opcode, v0: v0, v1: v1, v2: v2, fpscr: fpscr); CompareAgainstUnicorn(); }
public RMatrix(RMode mode, int nrow, int ncol) : base(mode, nrow * ncol) { this.NRow = nrow; this.NCol = ncol; }
public RArray(RMode mode, int length) : base(mode, length) { }
public RDataFrame(RMode[] columnModes, int nrow, int ncol) : base() { this.ColModes = columnModes; this.NRow = nrow; this.NCol = ncol; }