@@ -40,6 +40,10 @@ final class CalculationExpression implements Expression {
40
40
}
41
41
}
42
42
43
+ /// Returns a `hypot()` calculation expression.
44
+ CalculationExpression .hypot (Iterable <Expression > arguments, FileSpan span)
45
+ : this ("hypot" , arguments, span);
46
+
43
47
/// Returns a `max()` calculation expression.
44
48
CalculationExpression .max (Iterable <Expression > arguments, this .span)
45
49
: name = "max" ,
@@ -49,11 +53,76 @@ final class CalculationExpression implements Expression {
49
53
}
50
54
}
51
55
56
+ /// Returns a `sqrt()` calculation expression.
57
+ CalculationExpression .sqrt (Expression argument, FileSpan span)
58
+ : this ("sqrt" , [argument], span);
59
+
60
+ /// Returns a `sin()` calculation expression.
61
+ CalculationExpression .sin (Expression argument, FileSpan span)
62
+ : this ("sin" , [argument], span);
63
+
64
+ /// Returns a `cos()` calculation expression.
65
+ CalculationExpression .cos (Expression argument, FileSpan span)
66
+ : this ("cos" , [argument], span);
67
+
68
+ /// Returns a `tan()` calculation expression.
69
+ CalculationExpression .tan (Expression argument, FileSpan span)
70
+ : this ("tan" , [argument], span);
71
+
72
+ /// Returns a `asin()` calculation expression.
73
+ CalculationExpression .asin (Expression argument, FileSpan span)
74
+ : this ("asin" , [argument], span);
75
+
76
+ /// Returns a `acos()` calculation expression.
77
+ CalculationExpression .acos (Expression argument, FileSpan span)
78
+ : this ("acos" , [argument], span);
79
+
80
+ /// Returns a `atan()` calculation expression.
81
+ CalculationExpression .atan (Expression argument, FileSpan span)
82
+ : this ("atan" , [argument], span);
83
+
84
+ /// Returns a `abs()` calculation expression.
85
+ CalculationExpression .abs (Expression argument, FileSpan span)
86
+ : this ("abs" , [argument], span);
87
+
88
+ /// Returns a `sign()` calculation expression.
89
+ CalculationExpression .sign (Expression argument, FileSpan span)
90
+ : this ("sign" , [argument], span);
91
+
92
+ /// Returns a `exp()` calculation expression.
93
+ CalculationExpression .exp (Expression argument, FileSpan span)
94
+ : this ("exp" , [argument], span);
95
+
52
96
/// Returns a `clamp()` calculation expression.
53
97
CalculationExpression .clamp (
54
98
Expression min, Expression value, Expression max, FileSpan span)
55
99
: this ("clamp" , [min, max, value], span);
56
100
101
+ /// Returns a `pow()` calculation expression.
102
+ CalculationExpression .pow (Expression base , Expression exponent, FileSpan span)
103
+ : this ("pow" , [base , exponent], span);
104
+
105
+ /// Returns a `log()` calculation expression.
106
+ CalculationExpression .log (Expression number, Expression base , FileSpan span)
107
+ : this ("log" , [number, base ], span);
108
+
109
+ /// Returns a `round()` calculation expression.
110
+ CalculationExpression .round (
111
+ Expression strategy, Expression number, Expression step, FileSpan span)
112
+ : this ("round" , [strategy, number, step], span);
113
+
114
+ /// Returns a `atan2()` calculation expression.
115
+ CalculationExpression .atan2 (Expression y, Expression x, FileSpan span)
116
+ : this ("atan2" , [y, x], span);
117
+
118
+ /// Returns a `mod()` calculation expression.
119
+ CalculationExpression .mod (Expression y, Expression x, FileSpan span)
120
+ : this ("mod" , [y, x], span);
121
+
122
+ /// Returns a `rem()` calculation expression.
123
+ CalculationExpression .rem (Expression y, Expression x, FileSpan span)
124
+ : this ("rem" , [y, x], span);
125
+
57
126
/// Returns a calculation expression with the given name and arguments.
58
127
///
59
128
/// Unlike the other constructors, this doesn't verify that the arguments are
0 commit comments