UNPKG

react-basic-maths

Version:

A TypeScript utility library providing essential mathematical operations and functions for developers. It includes basic arithmetic operations, statistical calculations, combinatorics, rounding functions, and more. Perfect for JavaScript and TypeScript pr

2 lines 4.68 kB
!function(r,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("ReactBasicMaths",[],n):"object"==typeof exports?exports.ReactBasicMaths=n():r.ReactBasicMaths=n()}(this,(()=>(()=>{"use strict";var r={d:(n,t)=>{for(var e in t)r.o(t,e)&&!r.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})},o:(r,n)=>Object.prototype.hasOwnProperty.call(r,n),r:r=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})}},n={};function t(r){return function(r){if(Array.isArray(r))return e(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||function(r,n){if(r){if("string"==typeof r)return e(r,n);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?e(r,n):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(r,n){(null==n||n>r.length)&&(n=r.length);for(var t=0,e=Array(n);t<n;t++)e[t]=r[t];return e}r.r(n),r.d(n,{abs:()=>s,average:()=>v,cbrt:()=>w,ceil:()=>y,combination:()=>l,default:()=>F,div:()=>u,fibonacci:()=>O,floor:()=>b,gcd:()=>A,isEven:()=>q,isOdd:()=>P,isPrime:()=>S,lcm:()=>E,log:()=>M,max:()=>d,min:()=>h,multi:()=>a,nthFibonacci:()=>x,permutation:()=>c,pow:()=>p,primeFactors:()=>j,round:()=>m,sqrt:()=>g,sub:()=>i,sum:()=>o});var o=function(r,n){for(var t=arguments.length,e=new Array(t>2?t-2:0),o=2;o<t;o++)e[o-2]=arguments[o];return r+n+e.reduce((function(r,n){return r+n}),0)},i=function(r,n){for(var t=arguments.length,e=new Array(t>2?t-2:0),o=2;o<t;o++)e[o-2]=arguments[o];return r-n-e.reduce((function(r,n){return r+n}),0)},a=function(r,n){for(var t=arguments.length,e=new Array(t>2?t-2:0),o=2;o<t;o++)e[o-2]=arguments[o];return r*n*e.reduce((function(r,n){return r*n}),1)},u=function(r,n){for(var e=arguments.length,o=new Array(e>2?e-2:0),i=2;i<e;i++)o[i-2]=arguments[i];var a=[n].concat(o);if(a.includes(0))throw new Error("Cannot divide by zero");return[r].concat(t(a)).reduce((function(r,n){return r/n}))},f=function(r){return r<=1?1:r*f(r-1)},c=function(r,n){if(r<0||n<0||n>r)throw new Error("Invalid values for n or r");return f(r)/f(r-n)},l=function(r,n){if(r<0||n<0||n>r)throw new Error("Invalid values for n or r");return f(r)/(f(n)*f(r-n))},s=function(r){return Math.abs(r)},d=function(){for(var r=arguments.length,n=new Array(r),e=0;e<r;e++)n[e]=arguments[e];var o=Array.isArray(n[0])?n[0]:n;if(0===o.length)throw new Error("No numbers provided");return Math.max.apply(Math,t(o))},h=function(){for(var r=arguments.length,n=new Array(r),e=0;e<r;e++)n[e]=arguments[e];var o=Array.isArray(n[0])?n[0]:n;if(0===o.length)throw new Error("No numbers provided");return Math.min.apply(Math,t(o))},v=function(){for(var r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];var e=Array.isArray(n[0])?n[0]:n;if(0===e.length)throw new Error("No numbers provided");return e.reduce((function(r,n){return r+n}),0)/e.length},m=function(r){return Math.round(r)},b=function(r){return Math.floor(r)},y=function(r){return Math.ceil(r)},p=function(r,n){return Math.pow(r,n)},g=function(r){return Math.sqrt(r)},w=function(r){return Math.cbrt(r)},M=function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;if(r<=0)throw new Error("Logarithm undefined for zero or negative numbers.");if(n<=0||1===n)throw new Error("Base must be positive and not equal to 1.");return Math.log(r)/Math.log(n)},A=function(r,n){for(;0!==n;){var t=[n,r%n];r=t[0],n=t[1]}return Math.abs(r)},E=function(r,n){return Math.abs(r*n)/A(r,n)},S=function(r){if(r<2)return!1;for(var n=2,t=Math.sqrt(r);n<=t;n++)if(r%n==0)return!1;return!0},j=function(r){for(var n=[],t=2;t<=Math.sqrt(r);t++)for(;r%t==0;)n.push(t),r/=t;return r>1&&n.push(r),n},O=function(r){if(r<=0)return[];if(1===r)return[0];for(var n=[0,1];n.length<r;)n.push(n[n.length-1]+n[n.length-2]);return n},x=function(r){if(r<0)throw new Error("Fibonacci is not defined for negative numbers.");for(var n=0,t=1,e=0;e<r;e++){var o=[t,n+t];n=o[0],t=o[1]}return n},q=function(r){return r%2==0},P=function(r){return r%2!=0};const F={sum:o,sub:i,multi:a,div:u,abs:s,max:d,min:h,average:v,round:m,floor:b,ceil:y,pow:p,sqrt:g,cbrt:w,log:M,permutation:c,combination:l,gcd:A,lcm:E,isPrime:S,primeFactors:j,fibonacci:O,nthFibonacci:x,isEven:q,isOdd:P};return n})())); //# sourceMappingURL=index.js.map