mathf-js
Version:
A library for math, conversion, arrays, objects, conditioning and other miscellaneous functions/uses.
1 lines • 4.84 kB
JavaScript
Mathf={sqrd(a){return a*a},pwr(a,b){return a**b},toNotationStr(a){found=!1;negs=0;newUnit=1;let b=a.toString().split(""),c=(a,c,d,e)=>{if(a==0){if(found){return}else{b[c]="";return negs++}}if(a>0){if(!found){b.splice(c+1,0,".");return found=!0}if(found){newUnit++;return}}};b.forEach(c);if(negs>0){return`${parseFloat(b.join(""))} * 10(-${negs})`}else{return`${parseFloat(b.join(""))} * 10(${newUnit})`}},toNotation(a){found=!1;negs=0;newUnit=1;var b=a.toString().split(""),c=function(a,c,d,e){if(a==0){if(found){return}else{b[c]="";return negs++}}if(a>0){if(!found){b.splice(c+1,0,".");return found=!0}if(found){newUnit++;return}}};b.forEach(c);if(negs>0){return parseFloat(b.join(""))}else{return parseFloat(b.join(""))}},fromNotation(a){arr=a.split("");var b=arr.length-2;return parseFloat(a)*Mathf.pwr(10,b)},cm2ft(a){return 0.0328084*a},ft2cm(a){return 30.48*a},gall2litre(a){return 3.78541*a},litre2gall(a){return 0.264172*a},radians(a){return 0.0174533*a},degrees(a){return 57.2958*a},PI:3.14159265359,clamp(a,b,c){if(a>=c){return c}if(a<=b){return b}else{return a}},isPwrTwo(a){var b=!1;for(x=2;x<2147483648;x*=2){x==a&&(b=!0);if(x!=a){continue}}return b},decimalToBin(a){if(a%2>=1)var b=["1"];if(a%2==0)b=["0"];for(a=a;a>1;a/=2){var c=Math.floor(a/2);c%2>=1&&b.push("1");c%2==0&&b.push("0")}b.pop();return b.reverse().join("")},txtToAsc(a){var b=a.split("");asciiCodes={a:"97",b:"98",c:"99",d:"100",e:"101",f:"102",g:"103",h:"104",i:"105",j:"106",k:"107",l:"108",m:"109",n:"110",o:"111",p:"112",q:"113",r:"114",s:"115",t:"116",u:"117",v:"118",w:"119",x:"120",y:"121",z:"122",A:"65",B:"66",C:"67",D:"68",E:"69",F:"70",G:"71",H:"72",I:"73",J:"74",K:"75",L:"76",M:"77",N:"78",O:"79",P:"80",Q:"81",R:"82",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90"};for(i=0;i<b.length;i++)b[i]==0?(b[i]="32"):(b[i]=asciiCodes[b[i]]);return b},ascToTxt(a){asciiCodes={97:"a",98:"b",99:"c",100:"d",101:"e",102:"f",103:"g",104:"h",105:"i",106:"j",107:"k",108:"l",109:"m",110:"n",111:"o",112:"p",113:"q",114:"r",115:"s",116:"t",117:"u",118:"v",119:"w",120:"x",121:"y",122:"z",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z"};for(i=0;i<a.length;i++)a[i]==32?(a[i]=" "):(a[i]=asciiCodes[a[i]]);return a.join("")},logBase(a,b){return Math.log(b)/Math.log(a)},E:2.7182818284590452353602875,toFahrenheit(a){return a*9/5+32},toKelvin(a){return a+273},random:function(a,b){return Math.floor(Math.random()*b+a)},seed:function(a){var b="";for(i=0;i<a;i++)b+=(Math.floor(Math.random()*9+1));return b},parityArray:function(a){if(a.length%2>=1){return !1}if(a.length%2<=0){return !0}},median:function(c){var d=c.sort(function(a,b){return a-b});if(d.length%2>=1){var e=d.length/2,f=Math.ceil(e)-1;return d[f]}if(d.length%2<=0){var e=d.length/2,g=d.length/2+1,h=d[e-1]+d[g-1];return h/2}},range:function(c){var d=c.sort(function(a,b){return a-b}),e=d.length-1,f=d[e]-d[0];return f},avg:function(a){var b=0;for(i=0;i<a.length;i++)b+=a[i];var c=b/a.length;return c},parity:function(a){if(a%2>=1){return !1}if(a%2<=0){return !0}},toJSON:a=>{return JSON.stringify(a)},add:a=>{let b=0;a.forEach((a,c,d,e)=>{b+=a});return b},multiply:a=>{let b=1;a.forEach((a,c,d,e)=>{b*=a});return b},expand:a=>{let b=[];for(x=0;x<a;x++)b.push(1);return b},aprox:(a,b)=>{let c=Math.ceil(a),d=Math.ceil(b),e=Math.floor(a),f=Math.floor(b),g=c==d||e==f?!0:!1;return g},arrClampValue:(a,b,c)=>{a.forEach((d,e,f,g)=>{d>c&&(a[e]=c);if(d<b)a[e]=b;else{return}});return a},arrLock:(a,b)=>{a.forEach((c,d,e)=>{d>b-1&&a.splice(d,Number.MAX_SAFE_INTEGER)});return a},toObject:a=>{var b={};if(Mathf.parityArray(a)==!0){for(i=0;i<a.length+1;i+=2){if(i==0){let c=i+1;b[a[i]]=a[c]}else{let c=i+1;b[a[i]]=a[c]}}return b}else{return null}},flatten:a=>{let b=a.reduce((a,b)=>a.concat(b),[]);return b},lose:(a,...b)=>{b.map(b=>{delete a[b]});return a},break:(a,b)=>{var c=[];while(a.length)c.push(a.splice(0,b));return c},isVacant:a=>{return a.length>0?!1:!0},isOccupied:a=>{return a.length>0?!0:!1},isolate:a=>{return[...new Set(a)]},v:a=>{return Object.values(a)},k:a=>{return Object.keys(a)},holdsKey:(a,b)=>{return b in a?!0:!1},holdsVal:(a,b)=>{isFound=!1;Object.values(a).forEach((a,c,d)=>{if(a==b)isFound=!0;else{return}});return isFound},tally:a=>{return a.length},flip:a=>{return a.reverse()},randomArr:a=>{let b=Mathf.random(0,a.length);return a[b]},insert:(a,b,c)=>{a.splice(b,0,c);return a},init:a=>{return a[0]},app:(a,b)=>{a.push(b);return a},grabVal:(a,b)=>{return a[b]},grabKey:(a,b)=>{var c=null;Object.values(a).forEach((d,e)=>{if(d==b)c=Object.keys(a).find(c=>a[c]===b);else{return}});return c},exists:a=>{let b=undefined||null;return variable==b?!1:!0},isEmpty:a=>{let b="";return a==b?!0:!1},cloneArr:a=>{let b=a.slice(0,a.length);return b}}