diff options
| author | mryouse | 2022-06-26 01:31:14 +0000 |
|---|---|---|
| committer | mryouse | 2022-06-26 01:31:14 +0000 |
| commit | 182a05b85113631a611169a6724162ae9247b55e (patch) | |
| tree | 4524b495f79c1e71cf1f001edf274c7ccd6a495b /neb/std/math.py | |
| parent | 976c0a01e9e28d13037c9b1a5045789b3500d9fe (diff) | |
add return types to builtins
Diffstat (limited to 'neb/std/math.py')
| -rw-r--r-- | neb/std/math.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/neb/std/math.py b/neb/std/math.py index 66d153e..79ef332 100644 --- a/neb/std/math.py +++ b/neb/std/math.py @@ -8,23 +8,23 @@ def interpretLessThanEqual(symbol, args, env, ns): return Bool(args[0].value <= args[1].value) compare_arg = Arg("num", TypeEnum.NUMBER) -MATH.register("<=", Builtin("<=", interpretLessThanEqual, [compare_arg, compare_arg])) +MATH.register("<=", Builtin("<=", interpretLessThanEqual, [compare_arg, compare_arg], return_type=Type(":bool"))) def interpretGreaterThan(symbol, args, env, ns): return Bool(args[0].value > args[1].value) compare_arg = Arg("num", TypeEnum.NUMBER) -MATH.register(">", Builtin(">", interpretGreaterThan, [compare_arg, compare_arg])) +MATH.register(">", Builtin(">", interpretGreaterThan, [compare_arg, compare_arg], return_type=Type(":bool"))) def interpretGreaterThanEqual(symbol, args, env, ns): return Bool(args[0].value >= args[1].value) -MATH.register(">=", Builtin(">=", interpretGreaterThanEqual, [compare_arg, compare_arg])) +MATH.register(">=", Builtin(">=", interpretGreaterThanEqual, [compare_arg, compare_arg], return_type=Type(":bool"))) def interpretLessThan(symbol, args, env, ns): return Bool(args[0].value < args[1].value) -MATH.register("<", Builtin("<", interpretLessThan, [compare_arg, compare_arg])) +MATH.register("<", Builtin("<", interpretLessThan, [compare_arg, compare_arg], return_type=Type(":bool"))) def interpretAddition(symbol, args, env, ns): res = 0 @@ -36,7 +36,7 @@ def interpretAddition(symbol, args, env, ns): return Int(res) term_arg = Arg("term", TypeEnum.NUMBER) -MATH.register("+", Builtin("+", interpretAddition, [term_arg], term_arg)) +MATH.register("+", Builtin("+", interpretAddition, [term_arg], term_arg, Type(":number"))) def interpretSubtraction(symbol, args, env, ns): if len(args) == 1: @@ -50,7 +50,7 @@ def interpretSubtraction(symbol, args, env, ns): else: return Int(res) -MATH.register("-", Builtin("-", interpretSubtraction, [term_arg], term_arg)) +MATH.register("-", Builtin("-", interpretSubtraction, [term_arg], term_arg, Type(":number"))) def interpretMultiplication(symbol, args, env, ns): res = args[0].value @@ -62,7 +62,7 @@ def interpretMultiplication(symbol, args, env, ns): return Int(res) factor_arg = Arg("factor", TypeEnum.NUMBER) -MATH.register("*", Builtin("*", interpretMultiplication, [factor_arg, factor_arg], factor_arg)) +MATH.register("*", Builtin("*", interpretMultiplication, [factor_arg, factor_arg], factor_arg, Type(":number"))) def interpretDivision(symbol, args, env, ns): ret = args[0].value / args[1].value @@ -71,9 +71,9 @@ def interpretDivision(symbol, args, env, ns): else: return Float(ret) -MATH.register("/", Builtin("/", interpretDivision, [factor_arg, factor_arg])) +MATH.register("/", Builtin("/", interpretDivision, [factor_arg, factor_arg], return_type=Type(":number"))) def interpretFloor(symbol, args, env, ns): return Int(math.floor(args[0].value)) -MATH.register("floor", Builtin("floor", interpretFloor, [Arg("floor", TypeEnum.NUMBER)])) +MATH.register("floor", Builtin("floor", interpretFloor, [Arg("floor", TypeEnum.NUMBER)], return_type=Type(":int"))) |
