public QuantityParser( IParser <TUnit> unitParser, ILinearQuantityFactory <TQuantity, TUnit> quantityFactory) : this( valueParser : new DoubleParser(), unitParser : unitParser, quantityFactory : quantityFactory) { }
public FormattedQuantityParser( IFormattedParser <TUnit> unitParser, ILinearQuantityFactory <TQuantity, TUnit> quantityFactory) : this( valueParser : new FormattedDoubleParser(), unitParser : unitParser, quantityFactory : quantityFactory) { }
public QuantityParser( IParser <number> valueParser, IParser <TUnit> unitParser, ILinearQuantityFactory <TQuantity, TUnit> quantityFactory) { Assert.IsNotNull(valueParser, nameof(valueParser)); Assert.IsNotNull(unitParser, nameof(unitParser)); Assert.IsNotNull(quantityFactory, nameof(quantityFactory)); _valueParser = valueParser; _unitParser = unitParser; _quantityFactory = quantityFactory; }
public static TQuantity Average <TSource, TQuantity, TUnit>(this IEnumerable <TSource> source, ILinearQuantityFactory <TQuantity, TUnit> factory, Func <TSource, TQuantity> selector) where TQuantity : ILinearQuantity <TUnit> where TUnit : ILinearUnit { Assert.IsNotNull(source, nameof(source)); Assert.IsNotNull(factory, nameof(factory)); Assert.IsNotNull(selector, nameof(selector)); return(Average <TSource, TQuantity, TUnit>(source.GetEnumerator(), factory.Create, selector)); }
public static TQuantity Sum <TQuantity, TUnit>(this IEnumerable <TQuantity> source, ILinearQuantityFactory <TQuantity, TUnit> factory) where TQuantity : ILinearQuantity <TUnit> where TUnit : ILinearUnit { Assert.IsNotNull(source, nameof(source)); Assert.IsNotNull(factory, nameof(factory)); return(Sum <TQuantity, TQuantity, TUnit>(source.GetEnumerator(), factory.Create, e => e)); }