Skip to content

Commit db0f540

Browse files
committed
Add std.round function in standard library.
1 parent 4df8c17 commit db0f540

File tree

5 files changed

+6
-1
lines changed

5 files changed

+6
-1
lines changed

builtins.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,6 +1072,7 @@ var builtinExponent = liftNumeric(func(f float64) float64 {
10721072
_, exponent := math.Frexp(f)
10731073
return float64(exponent)
10741074
})
1075+
var builtinRound = liftNumeric(math.Round)
10751076

10761077
func liftBitwise(f func(int64, int64) int64, positiveRightArg bool) func(*interpreter, value, value) (value, error) {
10771078
return func(i *interpreter, xv, yv value) (value, error) {
@@ -2195,6 +2196,7 @@ var funcBuiltins = buildBuiltinMap([]builtin{
21952196
&unaryBuiltin{name: "exp", function: builtinExp, params: ast.Identifiers{"x"}},
21962197
&unaryBuiltin{name: "mantissa", function: builtinMantissa, params: ast.Identifiers{"x"}},
21972198
&unaryBuiltin{name: "exponent", function: builtinExponent, params: ast.Identifiers{"x"}},
2199+
&unaryBuiltin{name: "round", function: builtinRound, params: ast.Identifiers{"x"}},
21982200
&binaryBuiltin{name: "pow", function: builtinPow, params: ast.Identifiers{"x", "n"}},
21992201
&binaryBuiltin{name: "modulo", function: builtinModulo, params: ast.Identifiers{"x", "y"}},
22002202
&unaryBuiltin{name: "md5", function: builtinMd5, params: ast.Identifiers{"s"}},

linter/internal/types/stdlib.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ func prepareStdlib(g *typeGraph) {
6565
"asin": g.newSimpleFuncType(numberType, "x"),
6666
"acos": g.newSimpleFuncType(numberType, "x"),
6767
"atan": g.newSimpleFuncType(numberType, "x"),
68+
"round": g.newSimpleFuncType(numberType, "x"),
6869

6970
// Assertions and debugging
7071
"assertEqual": g.newSimpleFuncType(boolType, "a", "b"),
@@ -174,7 +175,7 @@ func prepareStdlib(g *typeGraph) {
174175

175176
// Boolean
176177

177-
"xor": g.newSimpleFuncType(boolType, "x", "y"),
178+
"xor": g.newSimpleFuncType(boolType, "x", "y"),
178179
}
179180

180181
fieldContains := map[string][]placeholderID{}

testdata/builtinRound.golden

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2

testdata/builtinRound.jsonnet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
std.round(2.3)

testdata/builtinRound.linter.golden

Whitespace-only changes.

0 commit comments

Comments
 (0)