public NumericRepresentationValue Simplify(NumericRepresentation representation, IEnumerable<UnitOfMeasureComponent> components, double value) { var finalValue = value; var unitOfMeasureComponents = new Dictionary<string, UnitOfMeasureComponent>(); foreach (var component in components) { finalValue = SimplifyComponent(component, unitOfMeasureComponents, finalValue); } var baseNumber = CombineComponents(unitOfMeasureComponents.Values.ToList(), finalValue); return new NumericRepresentationValue(representation, baseNumber.UnitOfMeasure, baseNumber); }
public static NumericRepresentationValue Multiply(this NumericRepresentationValue numericRepresentationValue, NumericRepresentationValue right, NumericRepresentation numericRepresentation) { var product = numericRepresentationValue.Multiply(right); return new NumericRepresentationValue(numericRepresentation, product.Value); }
public static NumericRepresentationValue Divide(this NumericRepresentationValue numericRepresentationValue, NumericRepresentationValue denominator, NumericRepresentation numericRepresentation) { var quotient = numericRepresentationValue.Value.Divide(denominator.Value); return new NumericRepresentationValue(numericRepresentation, quotient); }