🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

fraction-math-js

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fraction-math-js - npm Package Compare versions

Comparing version
0.1.8
to
0.1.9
+2
-2
bin/fcalc.js
#!/usr/bin/env node --harmony --harmony_array_includes
"use strict"
let readline = require('readline');
let Frac=require("../");
let Frac=require("../").builder;
let rl = readline.createInterface({

@@ -14,3 +14,3 @@ input: process.stdin,

rl.on('line', function (e) {
console.log(e," = ",new Frac(e).toString());
console.log(e," = ",Frac(e).toString());
rl.prompt();

@@ -17,0 +17,0 @@ }).on('close', function() {

#!/usr/bin/env node --harmony --harmony_array_includes
"use strict"
let F = require("../");
let x=new F("1+2/3*5");
let y=new F("1+",x);
let z=new F("+",1,y);
let a=new F(y,z,"+");
let F = require("../").builder;
let x=F("1+2/3*5");
let y=F("1+",x);
let z=F("+",1,y);
let a=F(y,z,"+");
console.log(a.toString());//35/3
console.log(a.n.toString());//35
console.log(a.d.toString());//3
let b=new F(a,"+",1.1);
let b=F(a,"+",1.1);
console.log(b.toString());//383/30
+18
-12

@@ -104,12 +104,12 @@ "use strict"

}
this.n=value[0];//numerator
this.d=value[1];//denominator
Object.defineProperties(this,{
"n":{
"writable":false
},
"d":{
"writable":false
}
});
this.n=value[0];//numerator
this.d=value[1];//denominator
Object.defineProperties(this,{
"n":{
"writable":false
},
"d":{
"writable":false
}
});
//define closure function for read the value;

@@ -123,6 +123,6 @@ }

toJSON(){
return this.toString();
return this.toString();
}
toBigNumber(){
return this.n.dividedBy(this.d);
return this.n.dividedBy(this.d);
}

@@ -166,7 +166,13 @@ plus(y){

}
isNegative(){
return this.n.isNegative();
}
get value(){
return [this.n,this.d];//get value
}
static builder(...args){
return new F(...args);
}
}
module.exports=F;
//node --harmony --harmony_array_includes
{
"name": "fraction-math-js",
"version": "0.1.8",
"version": "0.1.9",
"description": "",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -28,12 +28,12 @@ ## fraction-math-js

let F = require('fraction-math-js');
let F = require('fraction-math-js').builder;
### Use
let x=new F("1+2/3*5");//1+2/3*5 = 13/3
let x=F("1+2/3*5");//1+2/3*5 = 13/3
let y=new F("1+",x);//1+x = 16/3
let y=F("1+",x);//1+x = 16/3
let z=new F("+",1,y);//1+y = 19/3
let z=F("+",1,y);//1+y = 19/3
let a=new F(y,z,"+");//y+z = 35/3
let a=F(y,z,"+");//y+z = 35/3

@@ -46,3 +46,3 @@ console.log(a.toString());//35/3

let b=new F(a,"+",1.1);//a+1.1 = 383/30
let b=F(a,"+",1.1);//a+1.1 = 383/30

@@ -55,2 +55,1 @@ console.log(b.toString());//383/30

> node --harmony --harmony_array_includes sample.js
"use strict"
let Frac=require("../")
let Frac=require("../").builder;
let assert=require('assert');
assert.ok((new Frac("-1 + ( 2 + 3 ) * 5").toString())==="24","-1 + ( 2 + 3 ) * 5 = 24");//Infix -1+(2+3)*5=-1+5*5=-1+25=24
assert.ok(new Frac("1 / 2").toString()==="1/2","1 / 2 = 1/2");//Infix 1/2=(1/2)
assert.ok(new Frac("-1.1 + 1.1").toString()==="0","-1.1 + 1.1 = 0");//decimal -1.1+1.1=0
assert.ok(new Frac("1.1","1.1").toString()==="1","1.1 , 1.1 = 1");//decimal 1.1/1.1=1
assert.ok(new Frac("2",-6).toString()==="-1/3","2 , -6 = -1/3");//decimal 2,-6 = -1/3
assert.ok(new Frac("1 1 1 + +").toString()==="3","1 1 1 + + = 3");//Postfix 1 1 1 + + = 1 2 + = 3
assert.ok(new Frac("- * 3 2 1").toString()==="5","- * 3 2 1 = 5");//Prefix - * 3 2 1 = - 6 1 = 5
assert.ok(new Frac("1 / 0").toString()==="NaN","1 / 0 = NaN");// 1/0=NaN
assert.ok(new Frac("ABC").toString()==="NaN","ABC = NaN");// ABC=NaN
assert.ok(new Frac("-","*",new Frac(3),new Frac("2"),"1").toString()==="5"," - , * , frac(3) , Frac(\"2\") , 1 = 5");//Prefix - * 3 2 1 = - 6 1 = 5
assert.ok(new Frac("0 * ( -2 ) - ( 2 / 3 ) + 3").toString()==="7/3","0 * ( -2 ) - ( 2 / 3 ) + 3 = 7/3");
assert.ok(new Frac("0*(-2)-(2/3)+3").toString()==="7/3","0*(-2)-(2/3)+3 = 7/3");
assert.ok(new Frac("-1+-2-2").toString()==="-5","-1+-2-2=-5");
assert.ok(new Frac("-1","+","-2-2").toString()==="-5","-1,+,-2-2=-5");//-1+-2-2=-5
let x=new Frac("123");
assert.ok((Frac("-1 + ( 2 + 3 ) * 5").toString())==="24","-1 + ( 2 + 3 ) * 5 = 24");//Infix -1+(2+3)*5=-1+5*5=-1+25=24
assert.ok(Frac("1 / 2").toString()==="1/2","1 / 2 = 1/2");//Infix 1/2=(1/2)
assert.ok(Frac("-1.1 + 1.1").toString()==="0","-1.1 + 1.1 = 0");//decimal -1.1+1.1=0
assert.ok(Frac("1.1","1.1").toString()==="1","1.1 , 1.1 = 1");//decimal 1.1/1.1=1
assert.ok(Frac("2",-6).toString()==="-1/3","2 , -6 = -1/3");//decimal 2,-6 = -1/3
assert.ok(Frac("1 1 1 + +").toString()==="3","1 1 1 + + = 3");//Postfix 1 1 1 + + = 1 2 + = 3
assert.ok(Frac("- * 3 2 1").toString()==="5","- * 3 2 1 = 5");//Prefix - * 3 2 1 = - 6 1 = 5
assert.ok(Frac("1 / 0").toString()==="NaN","1 / 0 = NaN");// 1/0=NaN
assert.ok(Frac("ABC").toString()==="NaN","ABC = NaN");// ABC=NaN
assert.ok(Frac("-","*",Frac(3),Frac("2"),"1").toString()==="5"," - , * , frac(3) , Frac(\"2\") , 1 = 5");//Prefix - * 3 2 1 = - 6 1 = 5
assert.ok(Frac("0 * ( -2 ) - ( 2 / 3 ) + 3").toString()==="7/3","0 * ( -2 ) - ( 2 / 3 ) + 3 = 7/3");
assert.ok(Frac("0*(-2)-(2/3)+3").toString()==="7/3","0*(-2)-(2/3)+3 = 7/3");
assert.ok(Frac("-1+-2-2").toString()==="-5","-1+-2-2=-5");
assert.ok(Frac("-1","+","-2-2").toString()==="-5","-1,+,-2-2=-5");//-1+-2-2=-5
let x=Frac("123");
let m=x.value;
m[0]=555;
assert.ok(x.toString()==="123","not constant");
assert.ok(new Frac("0.99999999999999999999999999999999999999999999999999999999999999999999999999999999").toString()==="99999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000","0.99999999999999999999999999999999999999999999999999999999999999999999999999999999 = 99999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000");
assert.ok(Frac("0.99999999999999999999999999999999999999999999999999999999999999999999999999999999").toString()==="99999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000","0.99999999999999999999999999999999999999999999999999999999999999999999999999999999 = 99999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000");
assert.ok(Frac("-1").isNegative()===true,"isNegative");