本文整理汇总了C#中IQuantity.ToBase方法的典型用法代码示例。如果您正苦于以下问题:C# IQuantity.ToBase方法的具体用法?C# IQuantity.ToBase怎么用?C# IQuantity.ToBase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IQuantity
的用法示例。
在下文中一共展示了IQuantity.ToBase方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Unary
private static IQuantity Unary(IQuantity a, Func<double, double> function,
Func<IEnumerable<IDimension>, IEnumerable<IDimension>> dimensionality = null)
{
dimensionality = dimensionality ?? (x => x.ToArray());
var aBase = a.ToBase();
var aDims = aBase.Dimensions.EnumerateAll();
return new Quantity(function(aBase.Value),
dimensionality(aDims).Reduce().ToArray());
}
示例2: Modulus
private static IQuantity Modulus(IQuantity a, IQuantity b, Func<double, double, double> modulus,
Func<IEnumerable<IDimension>, IEnumerable<IDimension>> dimensionality = null)
{
dimensionality = dimensionality ?? (x => x);
var aBase = a.ToBase();
var bBase = b.ToBase();
//TODO: must B really be dimensionless? what are the ramifications for modulus being a close neighbor of division?
// A can be any dimension, however, b must be dimensionless.
b.VerifyDimensions();
var aDims = aBase.Dimensions.EnumerateAll();
return new Quantity(modulus(aBase.Value, bBase.Value),
dimensionality(aDims).Reduce().ToArray());
}
示例3: Multiply
private static IQuantity Multiply(IQuantity a, IQuantity b, Func<double, double, double> multiplier,
Func<IEnumerable<IDimension>, IEnumerable<IDimension>, IEnumerable<IDimension>> dimensionality)
{
var aBase = a.ToBase();
var bBase = b.ToBase();
var aDims = aBase.Dimensions.EnumerateAll();
var bDims = bBase.Dimensions.EnumerateAll();
return new Quantity(multiplier(aBase.Value, bBase.Value),
dimensionality(aDims, bDims).Reduce().ToArray());
}
示例4: Add
private static IQuantity Add(IQuantity a, IQuantity b, Func<double, double, double> adder)
{
a.VerifyDimensions(b);
var aBase = a.ToBase();
var bBase = b.ToBase();
var aDims = aBase.Dimensions.EnumerateAll();
var bDims = bBase.Dimensions.EnumerateAll();
return new Quantity(adder(aBase.Value, bBase.Value), aDims.ToArray());
}