/// <inheritdoc /> protected override IHasValue Calculate(IHasValue firstArg, IHasValue secondArg) { decimal firstValue = firstArg.GetValue(); decimal secondValue = secondArg.GetValue(); return(_numberFactory.CreateNumber(firstValue + secondValue)); }
/// <inheritdoc /> protected override IHasValue Calculate(IHasValue firstArg, IHasValue secondArg) { decimal firstValue = firstArg.GetValue(); decimal secondValue = secondArg.GetValue(); if (secondValue == 0) { throw new ArgumentOutOfRangeException(nameof(secondArg), ResourceStore.GetExceptionMessage("DenominatorIsZero")); } return(_numberFactory.CreateNumber(firstValue / secondValue)); }
/// <inheritdoc /> protected override IHasValue Calculate(IHasValue argument) { decimal value = (decimal)Math.Log2((double)argument.GetValue()); return(_numberFactory.CreateNumber(value)); }