aboutsummaryrefslogtreecommitdiffstats
path: root/teal-src/util/mathcompat.tl
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2022-10-20 16:50:12 +0200
committerKim Alvefur <zash@zash.se>2022-10-20 16:50:12 +0200
commite2cff346410c57686478d68fabd96cf4247df927 (patch)
treefb9c06de4cf1cdf18ba13292df824fd8cd7af5ee /teal-src/util/mathcompat.tl
parente64c5e30c2ab1f59c5051f2bd66f053d34a6eb25 (diff)
downloadprosody-e2cff346410c57686478d68fabd96cf4247df927.tar.gz
prosody-e2cff346410c57686478d68fabd96cf4247df927.zip
util.mathcompat: Module to ease reuse of math.type()
Mostly to ensure it is available during tests, as util.startup is not invoked there
Diffstat (limited to 'teal-src/util/mathcompat.tl')
-rw-r--r--teal-src/util/mathcompat.tl15
1 files changed, 15 insertions, 0 deletions
diff --git a/teal-src/util/mathcompat.tl b/teal-src/util/mathcompat.tl
new file mode 100644
index 00000000..1e3f9bab
--- /dev/null
+++ b/teal-src/util/mathcompat.tl
@@ -0,0 +1,15 @@
+if not math.type then
+ local enum number_subtype
+ "float" "integer"
+ end
+ local function math_type(t:any) : number_subtype
+ if t is number then
+ if t % 1 == 0 and t ~= t+1 and t ~= t-1 then
+ return "integer"
+ else
+ return "float"
+ end
+ end
+ end
+ _G.math.type = math_type
+end