public static Measure Random() { if (GetRandom.Bool()) { return(BaseMeasure.Random()); } return(DerivedMeasure.Random()); }
public MeasureTerm(BaseMeasure m, int power = 0) { m = m ?? Measure.Empty as BaseMeasure; if (m != null) { measureId = m.UniqueId; } this.power = power; }
public Measure Multiply(BaseMeasure m, bool isDivide = false) { var t1 = new MeasureTerm(this, 1); var t2 = isDivide ? new MeasureTerm(m, -1) : new MeasureTerm(m, 1); var t = new MeasureTerms { t1, t2 }; return(new DerivedMeasure(t)); }
internal static Measure Add(string name) { var m = Instance.Find(x => x.Name == name); if (m != null) { return(m); } m = new BaseMeasure(name); Instance.Add(m); return(m); }
public Measure Divide(BaseMeasure m) { var s = Multiply(m, true); return(s); }