@@ -28,45 +28,45 @@ function GenerateLogarithmicArithmeticOperators([string]$quantityName, [string]$
28
28
#if !WINDOWS_UWP
29
29
public static $quantityName operator -($quantityName right)
30
30
{
31
- return new $quantityName (-right.$baseUnitFieldName );
31
+ return new $quantityName (-right.Value, right.Unit );
32
32
}
33
33
34
34
public static $quantityName operator +($quantityName left, $quantityName right)
35
35
{
36
36
// Logarithmic addition
37
37
// Formula: $x *log10(10^(x/$x ) + 10^(y/$x ))
38
- return new $quantityName ($x *Math.Log10(Math.Pow(10, left.$baseUnitFieldName /$x ) + Math.Pow(10, right.$baseUnitFieldName /$x )));
38
+ return new $quantityName ($x *Math.Log10(Math.Pow(10, left.Value /$x ) + Math.Pow(10, right.AsBaseNumericType(left.Unit) /$x )), left.Unit );
39
39
}
40
40
41
41
public static $quantityName operator -($quantityName left, $quantityName right)
42
42
{
43
43
// Logarithmic subtraction
44
44
// Formula: $x *log10(10^(x/$x ) - 10^(y/$x ))
45
- return new $quantityName ($x *Math.Log10(Math.Pow(10, left.$baseUnitFieldName /$x ) - Math.Pow(10, right.$baseUnitFieldName /$x )));
45
+ return new $quantityName ($x *Math.Log10(Math.Pow(10, left.Value /$x ) - Math.Pow(10, right.AsBaseNumericType(left.Unit) /$x )), left.Unit );
46
46
}
47
47
48
48
public static $quantityName operator *($baseType left, $quantityName right)
49
49
{
50
50
// Logarithmic multiplication = addition
51
- return new $quantityName (left + right.$baseUnitFieldName );
51
+ return new $quantityName (left + right.Value, right.Unit );
52
52
}
53
53
54
54
public static $quantityName operator *($quantityName left, double right)
55
55
{
56
56
// Logarithmic multiplication = addition
57
- return new $quantityName (left.$baseUnitFieldName + ($baseType )right);
57
+ return new $quantityName (left.Value + ($baseType )right, left.Unit );
58
58
}
59
59
60
60
public static $quantityName operator /($quantityName left, double right)
61
61
{
62
62
// Logarithmic division = subtraction
63
- return new $quantityName (left.$baseUnitFieldName - ($baseType )right);
63
+ return new $quantityName (left.Value - ($baseType )right, left.Unit );
64
64
}
65
65
66
66
public static double operator /($quantityName left, $quantityName right)
67
67
{
68
68
// Logarithmic division = subtraction
69
- return Convert.ToDouble(left.$baseUnitFieldName - right.$baseUnitFieldName );
69
+ return Convert.ToDouble(left.Value - right.AsBaseNumericType(left.Unit) );
70
70
}
71
71
#endif
72
72
0 commit comments