Beispiel #1
0
 public static ValueBuilder Minimum(this IValueBuilders valueFactory, ValueBuilder left, ValueBuilder right)
 => valueFactory.If(left > right).Then(right).Else(left);
Beispiel #2
0
 public static ValueBuilder Maximum(this IValueBuilders valueFactory, ValueBuilder left, double right)
 => valueFactory.If(left < right).Then(right).Else(left);
Beispiel #3
0
 public static ValueBuilder Floor(this ValueBuilder value)
 => value.Select(Math.Floor, o => "Floor(" + o + ")");
Beispiel #4
0
 public static ValueBuilder Ceiling(this ValueBuilder value)
 => value.Select(Math.Ceiling, o => "Ceiling(" + o + ")");
Beispiel #5
0
 /// <summary>
 /// Returns a value converter multiplying values by <c>(stat.Value / divideBy).Ceiling</c>.
 /// </summary>
 public static Func <ValueBuilder, ValueBuilder> PerStatCeiled(IStatBuilder stat, ValueBuilder divideBy) =>
 v => v * (stat.Value / divideBy).Ceiling();
Beispiel #6
0
 /// <summary>
 /// Returns <c>value.AsPercentage * stat.Value</c>.
 /// </summary>
 public static ValueBuilder PercentOf(this ValueBuilder value, IStatBuilder stat) =>
 value.AsPercentage * stat.Value;
Beispiel #7
0
 public static Func <ValueBuilder, ValueBuilder> PerStat(ValueBuilder statValue, ValueBuilder divideBy) =>
 v => v * (statValue / divideBy).Floor();
Beispiel #8
0
 /// <summary>
 /// Returns a value converter multiplying values by <c>(stat.Value / divideBy).Floor</c>.
 /// </summary>
 public static Func <ValueBuilder, ValueBuilder> PerStat(IStatBuilder stat, ValueBuilder divideBy) =>
 PerStat(stat.Value, divideBy);
Beispiel #9
0
 /// <summary>
 /// Returns a value converter multiplying values by <c>(stat.Value / divideBy).Floor</c>.
 /// </summary>
 public static Func <ValueBuilder, ValueBuilder> PerStat(IStatBuilder stat, ValueBuilder divideBy) =>
 v => v * (stat.Value / divideBy).Floor;
 /// <summary>
 /// Returns a value converter multiplying values by <c>(stat.Value / divideBy).Ceiling</c>.
 /// </summary>
 public static Func <ValueBuilder, ValueBuilder> PerStatCeiled(IStatBuilder stat, ValueBuilder divideBy) =>
 v => v * (stat.Value / divideBy).Select(Math.Ceiling, o => $"Ceiling({o})");
 public static Func <ValueBuilder, ValueBuilder> PerStat(ValueBuilder statValue, ValueBuilder divideBy) =>
 v => v * (statValue / divideBy).Select(Math.Floor, o => $"Floor({o})");