@thi.ng/math
Advanced tools
Comparing version 1.3.0 to 1.4.0
@@ -6,2 +6,13 @@ # Change Log | ||
# [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.3.0...@thi.ng/math@1.4.0) (2019-07-07) | ||
### Features | ||
* **math:** add signed/unsigned int math ops ([518d79a](https://github.com/thi-ng/umbrella/commit/518d79a)) | ||
# [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@1.2.3...@thi.ng/math@1.3.0) (2019-05-22) | ||
@@ -8,0 +19,0 @@ |
@@ -8,2 +8,3 @@ export * from "./api"; | ||
export * from "./fit"; | ||
export * from "./int"; | ||
export * from "./interval"; | ||
@@ -10,0 +11,0 @@ export * from "./min-error"; |
@@ -8,2 +8,3 @@ export * from "./api"; | ||
export * from "./fit"; | ||
export * from "./int"; | ||
export * from "./interval"; | ||
@@ -10,0 +11,0 @@ export * from "./min-error"; |
127
lib/index.js
@@ -185,2 +185,67 @@ 'use strict'; | ||
const M8 = 0xff; | ||
const M16 = 0xffff; | ||
const signExtend8 = (a) => ((a &= M8), a & 0x80 ? a | ~M8 : a); | ||
const signExtend16 = (a) => ((a &= M16), a & 0x8000 ? a | ~M16 : a); | ||
const addi8 = (a, b) => signExtend8((a | 0) + (b | 0)); | ||
const divi8 = (a, b) => signExtend8((a | 0) / (b | 0)); | ||
const muli8 = (a, b) => signExtend8((a | 0) * (b | 0)); | ||
const subi8 = (a, b) => signExtend8((a | 0) - (b | 0)); | ||
const andi8 = (a, b) => signExtend8((a | 0) & (b | 0)); | ||
const ori8 = (a, b) => signExtend8(a | 0 | (b | 0)); | ||
const xori8 = (a, b) => signExtend8((a | 0) ^ (b | 0)); | ||
const noti8 = (a) => signExtend8(~a); | ||
const lshifti8 = (a, b) => signExtend8((a | 0) << (b | 0)); | ||
const rshifti8 = (a, b) => signExtend8((a | 0) >> (b | 0)); | ||
const addi16 = (a, b) => signExtend16((a | 0) + (b | 0)); | ||
const divi16 = (a, b) => signExtend16((a | 0) / (b | 0)); | ||
const muli16 = (a, b) => signExtend16((a | 0) * (b | 0)); | ||
const subi16 = (a, b) => signExtend16((a | 0) - (b | 0)); | ||
const andi16 = (a, b) => signExtend16((a | 0) & (b | 0)); | ||
const ori16 = (a, b) => signExtend16(a | 0 | (b | 0)); | ||
const xori16 = (a, b) => signExtend16((a | 0) ^ (b | 0)); | ||
const noti16 = (a) => signExtend16(~a); | ||
const lshifti16 = (a, b) => signExtend16((a | 0) << (b | 0)); | ||
const rshifti16 = (a, b) => signExtend16((a | 0) >> (b | 0)); | ||
const addi32 = (a, b) => ((a | 0) + (b | 0)) | 0; | ||
const divi32 = (a, b) => ((a | 0) / (b | 0)) | 0; | ||
const muli32 = (a, b) => ((a | 0) * (b | 0)) | 0; | ||
const subi32 = (a, b) => ((a | 0) - (b | 0)) | 0; | ||
const andi32 = (a, b) => (a | 0) & (b | 0); | ||
const ori32 = (a, b) => a | 0 | (b | 0); | ||
const xori32 = (a, b) => (a | 0) ^ (b | 0); | ||
const lshifti32 = (a, b) => (a | 0) << (b | 0); | ||
const rshifti32 = (a, b) => (a | 0) >> (b | 0); | ||
const noti32 = (a) => ~a; | ||
const addu8 = (a, b) => ((a & M8) + (b & M8)) & M8; | ||
const divu8 = (a, b) => ((a & M8) / (b & M8)) & M8; | ||
const mulu8 = (a, b) => ((a & M8) * (b & M8)) & M8; | ||
const subu8 = (a, b) => ((a & M8) - (b & M8)) & M8; | ||
const andu8 = (a, b) => ((a & M8) & (b & M8)) & M8; | ||
const oru8 = (a, b) => ((a & M8) | (b & M8)) & M8; | ||
const xoru8 = (a, b) => ((a & M8) ^ (b & M8)) & M8; | ||
const notu8 = (a) => ~a & M8; | ||
const lshiftu8 = (a, b) => ((a & M8) << (b & M8)) & M8; | ||
const rshiftu8 = (a, b) => ((a & M8) >>> (b & M8)) & M8; | ||
const addu16 = (a, b) => ((a & M16) + (b & M16)) & M16; | ||
const divu16 = (a, b) => ((a & M16) / (b & M16)) & M16; | ||
const mulu16 = (a, b) => ((a & M16) * (b & M16)) & M16; | ||
const subu16 = (a, b) => ((a & M16) - (b & M16)) & M16; | ||
const andu16 = (a, b) => ((a & M16) & (b & M16)) & M16; | ||
const oru16 = (a, b) => ((a & M16) | (b & M16)) & M16; | ||
const xoru16 = (a, b) => ((a & M16) ^ (b & M16)) & M16; | ||
const notu16 = (a) => ~a & M16; | ||
const lshiftu16 = (a, b) => ((a & M16) << (b & M16)) & M16; | ||
const rshiftu16 = (a, b) => ((a & M16) >>> (b & M16)) & M16; | ||
const addu32 = (a, b) => ((a >>> 0) + (b >>> 0)) >>> 0; | ||
const divu32 = (a, b) => ((a >>> 0) / (b >>> 0)) >>> 0; | ||
const mulu32 = (a, b) => ((a >>> 0) * (b >>> 0)) >>> 0; | ||
const subu32 = (a, b) => ((a >>> 0) - (b >>> 0)) >>> 0; | ||
const andu32 = (a, b) => ((a >>> 0) & (b >>> 0)) >>> 0; | ||
const oru32 = (a, b) => ((a >>> 0) | (b >>> 0)) >>> 0; | ||
const xoru32 = (a, b) => ((a >>> 0) ^ (b >>> 0)) >>> 0; | ||
const notu32 = (a) => ~a >>> 0; | ||
const lshiftu32 = (a, b) => ((a >>> 0) << (b >>> 0)) >>> 0; | ||
const rshiftu32 = (a, b) => ((a >>> 0) >>> (b >>> 0)) >>> 0; | ||
const minError = (fn, error, q, res = 16, iter = 8, start = 0, end = 1, eps = EPS) => { | ||
@@ -355,2 +420,14 @@ if (iter <= 0) | ||
exports.absTheta = absTheta; | ||
exports.addi16 = addi16; | ||
exports.addi32 = addi32; | ||
exports.addi8 = addi8; | ||
exports.addu16 = addu16; | ||
exports.addu32 = addu32; | ||
exports.addu8 = addu8; | ||
exports.andi16 = andi16; | ||
exports.andi32 = andi32; | ||
exports.andi8 = andi8; | ||
exports.andu16 = andu16; | ||
exports.andu32 = andu32; | ||
exports.andu8 = andu8; | ||
exports.angleDist = angleDist; | ||
@@ -372,2 +449,8 @@ exports.atan2Abs = atan2Abs; | ||
exports.derivative = derivative; | ||
exports.divi16 = divi16; | ||
exports.divi32 = divi32; | ||
exports.divi8 = divi8; | ||
exports.divu16 = divu16; | ||
exports.divu32 = divu32; | ||
exports.divu8 = divu8; | ||
exports.ease = ease; | ||
@@ -396,2 +479,8 @@ exports.eqDelta = eqDelta; | ||
exports.loc = loc; | ||
exports.lshifti16 = lshifti16; | ||
exports.lshifti32 = lshifti32; | ||
exports.lshifti8 = lshifti8; | ||
exports.lshiftu16 = lshiftu16; | ||
exports.lshiftu32 = lshiftu32; | ||
exports.lshiftu8 = lshiftu8; | ||
exports.max2id = max2id; | ||
@@ -412,4 +501,22 @@ exports.max3id = max3id; | ||
exports.mixQuadratic = mixQuadratic; | ||
exports.muli16 = muli16; | ||
exports.muli32 = muli32; | ||
exports.muli8 = muli8; | ||
exports.mulu16 = mulu16; | ||
exports.mulu32 = mulu32; | ||
exports.mulu8 = mulu8; | ||
exports.norm = norm; | ||
exports.normCos = normCos; | ||
exports.noti16 = noti16; | ||
exports.noti32 = noti32; | ||
exports.noti8 = noti8; | ||
exports.notu16 = notu16; | ||
exports.notu32 = notu32; | ||
exports.notu8 = notu8; | ||
exports.ori16 = ori16; | ||
exports.ori32 = ori32; | ||
exports.ori8 = ori8; | ||
exports.oru16 = oru16; | ||
exports.oru32 = oru32; | ||
exports.oru8 = oru8; | ||
exports.parabola = parabola; | ||
@@ -420,2 +527,8 @@ exports.quadrant = quadrant; | ||
exports.roundTo = roundTo; | ||
exports.rshifti16 = rshifti16; | ||
exports.rshifti32 = rshifti32; | ||
exports.rshifti8 = rshifti8; | ||
exports.rshiftu16 = rshiftu16; | ||
exports.rshiftu32 = rshiftu32; | ||
exports.rshiftu8 = rshiftu8; | ||
exports.sclamp = sclamp; | ||
@@ -426,2 +539,4 @@ exports.sec = sec; | ||
exports.sign = sign; | ||
exports.signExtend16 = signExtend16; | ||
exports.signExtend8 = signExtend8; | ||
exports.simplifyRatio = simplifyRatio; | ||
@@ -438,2 +553,8 @@ exports.sinc = sinc; | ||
exports.step = step; | ||
exports.subi16 = subi16; | ||
exports.subi32 = subi32; | ||
exports.subi8 = subi8; | ||
exports.subu16 = subu16; | ||
exports.subu32 = subu32; | ||
exports.subu8 = subu8; | ||
exports.trunc = trunc; | ||
@@ -444,1 +565,7 @@ exports.tween = tween; | ||
exports.wrap11 = wrap11; | ||
exports.xori16 = xori16; | ||
exports.xori32 = xori32; | ||
exports.xori8 = xori8; | ||
exports.xoru16 = xoru16; | ||
exports.xoru32 = xoru32; | ||
exports.xoru8 = xoru8; |
@@ -187,2 +187,67 @@ (function (global, factory) { | ||
const M8 = 0xff; | ||
const M16 = 0xffff; | ||
const signExtend8 = (a) => ((a &= M8), a & 0x80 ? a | ~M8 : a); | ||
const signExtend16 = (a) => ((a &= M16), a & 0x8000 ? a | ~M16 : a); | ||
const addi8 = (a, b) => signExtend8((a | 0) + (b | 0)); | ||
const divi8 = (a, b) => signExtend8((a | 0) / (b | 0)); | ||
const muli8 = (a, b) => signExtend8((a | 0) * (b | 0)); | ||
const subi8 = (a, b) => signExtend8((a | 0) - (b | 0)); | ||
const andi8 = (a, b) => signExtend8((a | 0) & (b | 0)); | ||
const ori8 = (a, b) => signExtend8(a | 0 | (b | 0)); | ||
const xori8 = (a, b) => signExtend8((a | 0) ^ (b | 0)); | ||
const noti8 = (a) => signExtend8(~a); | ||
const lshifti8 = (a, b) => signExtend8((a | 0) << (b | 0)); | ||
const rshifti8 = (a, b) => signExtend8((a | 0) >> (b | 0)); | ||
const addi16 = (a, b) => signExtend16((a | 0) + (b | 0)); | ||
const divi16 = (a, b) => signExtend16((a | 0) / (b | 0)); | ||
const muli16 = (a, b) => signExtend16((a | 0) * (b | 0)); | ||
const subi16 = (a, b) => signExtend16((a | 0) - (b | 0)); | ||
const andi16 = (a, b) => signExtend16((a | 0) & (b | 0)); | ||
const ori16 = (a, b) => signExtend16(a | 0 | (b | 0)); | ||
const xori16 = (a, b) => signExtend16((a | 0) ^ (b | 0)); | ||
const noti16 = (a) => signExtend16(~a); | ||
const lshifti16 = (a, b) => signExtend16((a | 0) << (b | 0)); | ||
const rshifti16 = (a, b) => signExtend16((a | 0) >> (b | 0)); | ||
const addi32 = (a, b) => ((a | 0) + (b | 0)) | 0; | ||
const divi32 = (a, b) => ((a | 0) / (b | 0)) | 0; | ||
const muli32 = (a, b) => ((a | 0) * (b | 0)) | 0; | ||
const subi32 = (a, b) => ((a | 0) - (b | 0)) | 0; | ||
const andi32 = (a, b) => (a | 0) & (b | 0); | ||
const ori32 = (a, b) => a | 0 | (b | 0); | ||
const xori32 = (a, b) => (a | 0) ^ (b | 0); | ||
const lshifti32 = (a, b) => (a | 0) << (b | 0); | ||
const rshifti32 = (a, b) => (a | 0) >> (b | 0); | ||
const noti32 = (a) => ~a; | ||
const addu8 = (a, b) => ((a & M8) + (b & M8)) & M8; | ||
const divu8 = (a, b) => ((a & M8) / (b & M8)) & M8; | ||
const mulu8 = (a, b) => ((a & M8) * (b & M8)) & M8; | ||
const subu8 = (a, b) => ((a & M8) - (b & M8)) & M8; | ||
const andu8 = (a, b) => ((a & M8) & (b & M8)) & M8; | ||
const oru8 = (a, b) => ((a & M8) | (b & M8)) & M8; | ||
const xoru8 = (a, b) => ((a & M8) ^ (b & M8)) & M8; | ||
const notu8 = (a) => ~a & M8; | ||
const lshiftu8 = (a, b) => ((a & M8) << (b & M8)) & M8; | ||
const rshiftu8 = (a, b) => ((a & M8) >>> (b & M8)) & M8; | ||
const addu16 = (a, b) => ((a & M16) + (b & M16)) & M16; | ||
const divu16 = (a, b) => ((a & M16) / (b & M16)) & M16; | ||
const mulu16 = (a, b) => ((a & M16) * (b & M16)) & M16; | ||
const subu16 = (a, b) => ((a & M16) - (b & M16)) & M16; | ||
const andu16 = (a, b) => ((a & M16) & (b & M16)) & M16; | ||
const oru16 = (a, b) => ((a & M16) | (b & M16)) & M16; | ||
const xoru16 = (a, b) => ((a & M16) ^ (b & M16)) & M16; | ||
const notu16 = (a) => ~a & M16; | ||
const lshiftu16 = (a, b) => ((a & M16) << (b & M16)) & M16; | ||
const rshiftu16 = (a, b) => ((a & M16) >>> (b & M16)) & M16; | ||
const addu32 = (a, b) => ((a >>> 0) + (b >>> 0)) >>> 0; | ||
const divu32 = (a, b) => ((a >>> 0) / (b >>> 0)) >>> 0; | ||
const mulu32 = (a, b) => ((a >>> 0) * (b >>> 0)) >>> 0; | ||
const subu32 = (a, b) => ((a >>> 0) - (b >>> 0)) >>> 0; | ||
const andu32 = (a, b) => ((a >>> 0) & (b >>> 0)) >>> 0; | ||
const oru32 = (a, b) => ((a >>> 0) | (b >>> 0)) >>> 0; | ||
const xoru32 = (a, b) => ((a >>> 0) ^ (b >>> 0)) >>> 0; | ||
const notu32 = (a) => ~a >>> 0; | ||
const lshiftu32 = (a, b) => ((a >>> 0) << (b >>> 0)) >>> 0; | ||
const rshiftu32 = (a, b) => ((a >>> 0) >>> (b >>> 0)) >>> 0; | ||
const minError = (fn, error, q, res = 16, iter = 8, start = 0, end = 1, eps = EPS) => { | ||
@@ -357,2 +422,14 @@ if (iter <= 0) | ||
exports.absTheta = absTheta; | ||
exports.addi16 = addi16; | ||
exports.addi32 = addi32; | ||
exports.addi8 = addi8; | ||
exports.addu16 = addu16; | ||
exports.addu32 = addu32; | ||
exports.addu8 = addu8; | ||
exports.andi16 = andi16; | ||
exports.andi32 = andi32; | ||
exports.andi8 = andi8; | ||
exports.andu16 = andu16; | ||
exports.andu32 = andu32; | ||
exports.andu8 = andu8; | ||
exports.angleDist = angleDist; | ||
@@ -374,2 +451,8 @@ exports.atan2Abs = atan2Abs; | ||
exports.derivative = derivative; | ||
exports.divi16 = divi16; | ||
exports.divi32 = divi32; | ||
exports.divi8 = divi8; | ||
exports.divu16 = divu16; | ||
exports.divu32 = divu32; | ||
exports.divu8 = divu8; | ||
exports.ease = ease; | ||
@@ -398,2 +481,8 @@ exports.eqDelta = eqDelta; | ||
exports.loc = loc; | ||
exports.lshifti16 = lshifti16; | ||
exports.lshifti32 = lshifti32; | ||
exports.lshifti8 = lshifti8; | ||
exports.lshiftu16 = lshiftu16; | ||
exports.lshiftu32 = lshiftu32; | ||
exports.lshiftu8 = lshiftu8; | ||
exports.max2id = max2id; | ||
@@ -414,4 +503,22 @@ exports.max3id = max3id; | ||
exports.mixQuadratic = mixQuadratic; | ||
exports.muli16 = muli16; | ||
exports.muli32 = muli32; | ||
exports.muli8 = muli8; | ||
exports.mulu16 = mulu16; | ||
exports.mulu32 = mulu32; | ||
exports.mulu8 = mulu8; | ||
exports.norm = norm; | ||
exports.normCos = normCos; | ||
exports.noti16 = noti16; | ||
exports.noti32 = noti32; | ||
exports.noti8 = noti8; | ||
exports.notu16 = notu16; | ||
exports.notu32 = notu32; | ||
exports.notu8 = notu8; | ||
exports.ori16 = ori16; | ||
exports.ori32 = ori32; | ||
exports.ori8 = ori8; | ||
exports.oru16 = oru16; | ||
exports.oru32 = oru32; | ||
exports.oru8 = oru8; | ||
exports.parabola = parabola; | ||
@@ -422,2 +529,8 @@ exports.quadrant = quadrant; | ||
exports.roundTo = roundTo; | ||
exports.rshifti16 = rshifti16; | ||
exports.rshifti32 = rshifti32; | ||
exports.rshifti8 = rshifti8; | ||
exports.rshiftu16 = rshiftu16; | ||
exports.rshiftu32 = rshiftu32; | ||
exports.rshiftu8 = rshiftu8; | ||
exports.sclamp = sclamp; | ||
@@ -428,2 +541,4 @@ exports.sec = sec; | ||
exports.sign = sign; | ||
exports.signExtend16 = signExtend16; | ||
exports.signExtend8 = signExtend8; | ||
exports.simplifyRatio = simplifyRatio; | ||
@@ -440,2 +555,8 @@ exports.sinc = sinc; | ||
exports.step = step; | ||
exports.subi16 = subi16; | ||
exports.subi32 = subi32; | ||
exports.subi8 = subi8; | ||
exports.subu16 = subu16; | ||
exports.subu32 = subu32; | ||
exports.subu8 = subu8; | ||
exports.trunc = trunc; | ||
@@ -446,2 +567,8 @@ exports.tween = tween; | ||
exports.wrap11 = wrap11; | ||
exports.xori16 = xori16; | ||
exports.xori32 = xori32; | ||
exports.xori8 = xori8; | ||
exports.xoru16 = xoru16; | ||
exports.xoru32 = xoru32; | ||
exports.xoru8 = xoru8; | ||
@@ -448,0 +575,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
{ | ||
"name": "@thi.ng/math", | ||
"version": "1.3.0", | ||
"version": "1.4.0", | ||
"description": "Assorted common math functions & utilities", | ||
@@ -28,7 +28,7 @@ "module": "./index.js", | ||
"@types/mocha": "^5.2.6", | ||
"@types/node": "^11.13.7", | ||
"@types/node": "^12.0.8", | ||
"mocha": "^6.1.4", | ||
"nyc": "^14.0.0", | ||
"typedoc": "^0.14.2", | ||
"typescript": "^3.4.5" | ||
"typescript": "^3.5.2" | ||
}, | ||
@@ -48,3 +48,3 @@ "keywords": [ | ||
"sideEffects": false, | ||
"gitHead": "5a4226d52724f320fb25656f08addb2825375fee" | ||
"gitHead": "efa9fdd61dd4ad2187cefe0a26df3bf2baade24b" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
157206
41
2596