From b4e88d99df2607aa5fb33344e10cae6aebca01e9 Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Sat, 23 Jan 2021 13:33:56 -0600 Subject: [PATCH] Add bunch of new low-level utils --- scripts/shared/native.js | 104 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 100 insertions(+), 4 deletions(-) diff --git a/scripts/shared/native.js b/scripts/shared/native.js index 8209b520..fb739a99 100644 --- a/scripts/shared/native.js +++ b/scripts/shared/native.js @@ -31,24 +31,116 @@ function not(var1) { // --------------------------------------------------------------------------- -function gt(var1, var2) { - return (var1 > var2); +function bitAnd(var1, var2) { + return var1 & var2; } // --------------------------------------------------------------------------- -function lt(var1, var2) { +function bitOr(var1, var2) { + return var1 | var2; +} + +// --------------------------------------------------------------------------- + +function bitXor(var1, var2) { + return var1 ^ var2; +} + +// --------------------------------------------------------------------------- + +function bitNot(var1) { + return ~var1; +} + +// --------------------------------------------------------------------------- + +function bitLeftShift(var1, var2) { + return var1 << var2; +} + +// --------------------------------------------------------------------------- + +function bitRightShift(var1, var2) { + return var1 >> var2; +} + +// --------------------------------------------------------------------------- + +function greaterThan(var1, var2) { + return var1 > var2; +} + +// --------------------------------------------------------------------------- + +function lessThan(var1, var2) { return (var1 < var2); } // --------------------------------------------------------------------------- -function eq(var1, var2) { +function greaterThanOrEqualTo(var1, var2) { + return (var1 >= var2); +} + +// --------------------------------------------------------------------------- + +function lessThanOrEqualTo(var1, var2) { + return (var1 <= var2); +} + +// --------------------------------------------------------------------------- + +function equals(var1, var2) { return (var1 == var2); } // --------------------------------------------------------------------------- +function modulo(var1, var2) { + return var1 % var2; +} + +// --------------------------------------------------------------------------- + +function add(...args) { + return args.reduce((acc, a) => { + return acc + a; + }, 0); +} + +// --------------------------------------------------------------------------- + +function subtract(...args) { + return args.reduce((acc, a) => { + return acc - a; + }, 0); +} + +// --------------------------------------------------------------------------- + +function multiply(...args) { + return args.reduce((acc, a) => { + return acc * a; + }, 0); +} + +// --------------------------------------------------------------------------- + +function divide(...args) { + return args.reduce((acc, a) => { + return acc / a; + }, 0); +} + +// --------------------------------------------------------------------------- + +function toArray(...args) { + return args; +} + +// --------------------------------------------------------------------------- + function toInteger(val) { return Number(val); } @@ -92,6 +184,10 @@ function toLowerCase(val) { // --------------------------------------------------------------------------- function isNull(val) { + if(val == null) { + return true; + } + if(typeof val === "undefined") { return true; }