public static Matrix NewDiagonal(double[] vector, int offset_k = 0) { var length = vector.Length + System.Math.Abs(offset_k); var values = new double[length, length]; var indices = new IntegerRange(vector.Length - 1); if (offset_k == 0) { foreach (var i in indices) { values[i, i] = vector[i]; } } else if (offset_k > 0) { foreach (var i in indices) { values[i, i + offset_k] = vector[i]; } } else { foreach (var i in indices) { values[i - offset_k, i] = vector[i]; } } return(new Matrix(values)); }
public void Should_return_maximum_and_minimum_value() { var range = new IntegerRange(1, 2); Assert.That(range.Min, Is.EqualTo(1)); Assert.That(range.Max, Is.EqualTo(2)); }
public void Intersect_should_be_idempotent() { var range1 = new IntegerRange(1, 4); var range2 = new IntegerRange(2, 5); Assert.That(range1.Intersect(range2), Is.EqualTo(range2.Intersect(range1))); }
/// <summary> /// Deserializes an <see cref="MDXAnimationSequence"/> from a given data stream. /// </summary> /// <param name="br"></param> /// <param name="version"></param> public MDXAnimationSequence(BinaryReader br, WarcraftVersion version) { AnimationID = br.ReadUInt32(); if (version <= WarcraftVersion.BurningCrusade) { StartTimestamp = br.ReadUInt32(); EndTimestamp = br.ReadUInt32(); } else { Duration = br.ReadUInt32(); } MovementSpeed = br.ReadSingle(); Flags = (MDXAnimationSequenceFlags)br.ReadUInt32(); Probability = br.ReadInt16(); Padding = br.ReadUInt16(); ReplayRange = br.ReadIntegerRange(); BlendTime = br.ReadUInt32(); BoundingBox = br.ReadBox(); BoundingSphereRadius = br.ReadSingle(); NextVariation = br.ReadInt16(); NextAliasedAnimationID = br.ReadUInt16(); }
static AllocationRanges RemainingAllocationsByCentre(Type tableType, Database destDb, IEnumerable<IntegerRange> sourceCentreRanges) { string tableName = TableName(tableType); const string queryStringTemplate = "select centreId Min, max(sr.Id) Max from {0} sr group by sr.CentreId"; string studyCentreCases = string.Join(" ", sourceCentreRanges.Select(a => string.Format("when ({0}.Id >= {1} and {0}.Id <= {2}) then {1}", tableName, a.Min, a.Max))); string internalQuery = string.Format("(select {0}.Id, (case {1} end) centreId from {0} where ({2}))", tableName, studyCentreCases, WhereRange(sourceCentreRanges, tableName)); string queryString = string.Format(queryStringTemplate, internalQuery); var usedAllocationDictionary = destDb.SqlQuery<IntegerRange>(queryString).ToDictionary(k=>k.Min); var usedAllocations = new IntegerRange[usedAllocationDictionary.Count]; usedAllocationDictionary.Values.CopyTo(usedAllocations, 0); return new AllocationRanges { UsedAllocations = usedAllocations, RemainingAllocations = sourceCentreRanges.Select(sourceRng => { if (usedAllocationDictionary.TryGetValue(sourceRng.Min, out IntegerRange returnVar)) { return new IntegerRange(returnVar.Max + 1, sourceRng.Max); } return sourceRng; }).ToList() }; }
void ICmpInitializable.OnInit(Component.InitContext context) { _inEditor = FrozenUtilities.IsDualityEditor; if (context == InitContext.Activate && Material != null) { _particleMaterial = new ParticleMaterial(Material); _colorRange = new ColorRange(ColorStart, ColorEnd); _initialDirectionRange = new FloatRange(MathF.DegToRad(InitialDirection.X), MathF.DegToRad(InitialDirection.Y)); _initialRotationRange = new FloatRange(MathF.DegToRad(InitialRotation.X), MathF.DegToRad(InitialRotation.Y)); _initialScaleRange = new FloatRange(InitialScale.X, InitialScale.Y); _movementSpeedRange = new FloatRange(MovementSpeed.X, MovementSpeed.Y); _particlesNumberRange = new IntegerRange((int)ParticlesAmount.X, (int)ParticlesAmount.Y); _rotationSpeedRange = new FloatRange(MathF.DegToRad(RotationSpeed.X), MathF.DegToRad(RotationSpeed.Y)); _scaleSpeedRange = new FloatRange(ScaleSpeed.X, ScaleSpeed.Y); _timeToLiveRange = new FloatRange(TimeToLive.X, TimeToLive.Y); _emitterDirection = EmitterDirection * MathF.Pi / 180; _emitterRotationSpeed = EmitterRotationSpeed * MathF.Pi / 180; _particleVertices = new VertexC1P3T2[_particlesNumberRange.Max * 4]; _particles = new Particle[_particlesNumberRange.Max]; for (int i = 0; i < _particles.Length; i++) { _particles[i] = new Particle(); } } }
public void IntegerRange_FromMustBeSmallerThanTo() { var range = new IntegerRange(20, 10); range.From.Should().Be(10); range.To.Should().Be(20); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── // 説明はインターフェース参照。 public void ToNumbers(ref List <int> listN) { for (int nI = 0; nI < this.List_Item.Count; nI++) { IntegerRange o_Range = this.List_Item[nI]; o_Range.ToNumbers(ref listN); } }
public void Should_intersect_partially_overlapping_ranges() { var range1 = new IntegerRange(1, 4); var range2 = new IntegerRange(2, 5); var intersection = range1.Intersect(range2); Assert.That(intersection.Min, Is.EqualTo(2)); Assert.That(intersection.Max, Is.EqualTo(4)); }
public void Should_intersect_subset_ranges() { var range1 = new IntegerRange(1, 5); var range2 = new IntegerRange(2, 4); var intersection = range1.Intersect(range2); Assert.That(intersection.Min, Is.EqualTo(2)); Assert.That(intersection.Max, Is.EqualTo(4)); }
public void Test1() { var points = IntegerRange.Create(7) .Select(i => new GraphPoint { Id = Guid.NewGuid(), Name = $"v{i}" }) .ToArray(); var relations = new[]
public void Should_check_if_supplied_value_is_in_range() { var range = new IntegerRange(1, 5); Assert.That(range.IsInRange(1)); Assert.That(range.IsInRange(3)); Assert.That(range.IsInRange(5)); Assert.That(!range.IsInRange(0)); Assert.That(!range.IsInRange(6)); }
public void Test1() { var taken = new List <string>(); for (int i = 0; i < 20; i++) { var generator = new StringGenerator("$d$d", 0); var items = generator.Take(5, taken.ToArray()); taken.AddRange(items); } Assert.Equal(IntegerRange.Create(100), taken.Select(x => int.Parse(x)).OrderBy(x => x)); }
public void Instantiate_IntegerFrom3To10_ListFrom3To10() { var integerRange = new IntegerRange() { Start = 3, End = 10, Step = 1 }; var factory = new RangeMembersFactory(); var values = factory.Instantiate(integerRange).ToList(); Assert.That(values[0], Is.EqualTo("3")); Assert.That(values[7], Is.EqualTo("10")); Assert.That(values.Count, Is.EqualTo(8)); }
public AnimationState( string name, IntegerRange range, List <AnimationEvent> animationEvents = null, bool loop = true, float speed = 1, IntegerRange loopRange = null ) { Name = name; Range = range; AnimationEvents = animationEvents; Loop = loop; Speed = speed; LoopRange = loopRange; }
public static int[] GetRange(int pageNumber, int pageSize, int navCount, bool navAlignRight = false) { int start, end; if (pageSize <= navCount) { start = 1; end = pageSize; } else { var isNavCountEven = navCount % 2 == 0; int relativeLeft, relativeRight; if (isNavCountEven && !navAlignRight) { relativeLeft = navCount / 2 - 1; relativeRight = navCount / 2; } else if (isNavCountEven && navAlignRight) { relativeLeft = navCount / 2; relativeRight = navCount / 2 - 1; } else { relativeLeft = relativeRight = (navCount - 1) / 2; } start = pageNumber - relativeLeft; end = pageNumber + relativeRight; //Revises `start` and `end` if any of them overflow if (start < 1) { end += 1 - start; start = 1; } else if (end > pageSize) { start -= end - pageSize; end = pageSize; } } return(IntegerRange.Create(start, end + 1).ToArray()); }
//──────────────────────────────────────── /// <summary> /// 「-7~-5|-3~1|3|5~7|9|10|13~24」といった書式で返します。 /// </summary> /// <returns>「-7~-5|-3~1|3|5~7|9|10|13~24」といった書式の文字列。</returns> public override string ToString() { StringBuilder sb = new StringBuilder(); for (int nI = 0; nI < this.List_Item.Count; nI++) { IntegerRange o_Range = this.List_Item[nI]; sb.Append(o_Range.ToString()); if (nI + 1 < this.List_Item.Count) { sb.Append("|"); } } return(sb.ToString()); }
public CityCollection(IRandomizer randomizer, int count, IntegerRange distanceRange) { for (int i = 0; i < count; i++) { Cities.Add(new City() { Id = i }); } foreach (var city in Cities) { foreach (var otherCities in Cities) { city.Roads.Add(new Road() { City = otherCities, Distance = randomizer.IntInRange(distanceRange) }); } } }
public void IntegerRangeTest() { var range = new IntegerRange(10, 20); range.IsInRange(11).Should().BeTrue(); }
public VHDLIntegerType() { Range = defIntegerRange; }
public VHDLIntegerType(IntegerRange range) { Range = range; }
public IterableIntegerRange(IntegerRange range) : base(range.Start, range.End) { Current = range.Start; }
public void IntCountDesc() { var x = IntegerRange.FromCount(2, 5, -2).Freeze(); Assert.True(x == List(2, 0, -2, -4, -6)); }
public void Should_not_intersect_non_overlapping_ranges() { var range1 = new IntegerRange(1, 4); var range2 = new IntegerRange(5, 8); range1.Intersect(range2); }
public void Instantiate_IntegerFrom3To10Step3_ListFrom3To9() { var integerRange = new IntegerRange() { Start = 3, End = 10, Step = 3 }; var factory = new RangeMembersFactory(); var values = factory.Instantiate(integerRange).ToList(); Assert.That(values[0], Is.EqualTo("3")); Assert.That(values[2], Is.EqualTo("9")); Assert.That(values.Count, Is.EqualTo(3)); }
public void IntRangeAsc() { var x = IntegerRange.FromMinMax(2, 5, 1).Freeze(); Assert.True(x == List(2, 3, 4, 5)); }
public void IntRangeDesc() { var x = IntegerRange.FromMinMax(5, 2, -1).Freeze(); Assert.True(x == List(5, 4, 3, 2)); }
public void IntegerRange_OutsideRange() { var range = new IntegerRange(10, 20); range.IsInRange(0).Should().BeFalse(); }
public void Test(object left, object right, int[] expected) { var result = IntegerRange.Range(left, right); CollectionAssert.AreEqual(expected, result); }
public void IntCountAsc() { var x = IntegerRange.FromCount(2, 5, 2).Freeze(); Assert.True(x == List(2, 4, 6, 8, 10)); }