var r = bigrat.fromRandom(bigrat.create()); print(bigrat.dump(r)); print(bigrat.dump(bigrat.fromDecimal(bigrat.toDecimal(r)))); print(); var a = polyrat.fromValues( [0, 0, 7, 1, 2, 3, 81, 4, 23] ); var b = polyrat.fromValues( [1, 2, 1, 0, 0, 3, 69] ); var result = polyrat.create(); //print(polyrat.toJSON(a)); print(polyrat.str(a)); print(' + '); //print(polyrat.toJSON(b)); print(polyrat.str(b)); print(' = '); polyrat.add(result, a, b); //print(polyrat.toJSON(result)); print(polyrat.str(result)); print(); print('@'+r[0]+' => '+bigrat.str(polyrat.evaluate(bigrat.create(), result, [r[0]]))); exit(); /* remove this to test the rest */ print(); var x2 = polyrat.fromValues([0, 0, 1]); print(polyrat.toJSON(x2)); print(polyrat.str(x2)); print('@[x=6] => '+bigrat.str(polyrat.evaluate(bigrat.create(), x2, [6]))); print(); var x2_y2 = polyrat.fromValues([ [0, 0, 1], [0, 0, 0], [1, 0, 0] ]); print(polyrat.toJSON(x2_y2)); print(polyrat.str(x2_y2)); print('@[x=6, y=9] => '+bigrat.str(polyrat.evaluate(bigrat.create(), x2_y2, [6, 9]))); print(); print(polyrat.toJSON(polyrat.PARABOLA_INVERSE)); print(polyrat.str(polyrat.PARABOLA_INVERSE)); print('@[x=7, y=11] => '+bigrat.str(polyrat.evaluate(bigrat.create(), polyrat.PARABOLA_INVERSE, [7, 11]))); print(); var x4_y4_z4 = polyrat.fromValues([ [ [0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0] ], [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0] ], [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0] ], [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0] ], [ [1, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0] ] ]); print(polyrat.toJSON(x4_y4_z4)); print(polyrat.str(x4_y4_z4)); print('@[x=5, y=9, z=3] => '+bigrat.str(polyrat.evaluate(bigrat.create(), x4_y4_z4, [5,9,3]))); print(); var PN_Fermat = [ [-1, 0, 0, 1], [0], [0], [1] ]; var fermat = polyrat.fromValues(PN_Fermat); print(polyrat.toJSON(fermat)); print(polyrat.str(fermat)); print('@[x=5, y=9] => '+bigrat.str(polyrat.evaluate(bigrat.create(), fermat, [5,9]))); print(); var crazy_polynomial = polyrat.fromValues([ [ [7, 6, 3, 0, 1], [0, 0, 4, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0] ], [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 6, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0] ], [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 5, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 4, 0, 0] ], [ [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0] ], [ [1, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 4, 0, 0], [1, 0, 0, 5, 99] ] ]); crazy_polynomial[1][2] = 24; crazy_polynomial[1][1] = -9; print(polyrat.toJSON(crazy_polynomial)); print(polyrat.str(crazy_polynomial)); print('@[x=5, y=9, z=3] => '+bigrat.str(polyrat.evaluate(bigrat.create(), crazy_polynomial, [5,9,3]))); print(''); print(new rational(420, 69).times(new rational(123, 456)).pow(4).divide(new rational(2446, 445)).divide(new rational(22, 33)).dump()); print(bigrat.dump(bigrat.fromContinuedFraction(bigrat.create(), [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] ))); print(bigrat.dump(bigrat.fromContinuedFraction(bigrat.create(), [2,1,2,1,1,4,1,1,6,1,1,8,1,1,1,10,1,1,1,12,1,1,1,14,1,1,1,16,1,1,1,18,1,1,1,20,1,1,1,22,1,1,1,24] ))); print(rational.fromDecimal(0.697774657964008).dump()); var nth = 2; var root = bigrat.fromInteger(2); for (var n=1; n<30; n++) { print('nthRoot('+n+', '+nth+')'); bigrat.nthRoot(root, bigrat.fromInteger(n), nth); print(bigrat.dump(root)); } var PHI = ( 1 + Math.sqrt(5) ) / 2; print(bigrat.dump(bigrat.fromDecimal(PHI))); print(bigrat.dump(bigrat.fromDecimal(PHI - 1))); bigrat.PHI = bigrat.fromInteger(5); bigrat.sqrt(bigrat.PHI, bigrat.clone(bigrat.PHI)); bigrat.add(bigrat.PHI, bigrat.clone(bigrat.PHI), bigrat.ONE); bigrat.scalar_divide(bigrat.PHI, bigrat.clone(bigrat.PHI), 2); print(bigrat.dump(bigrat.PHI)); print(bigrat.dump(bigrat.fromDecimal(Math.PI))); print(rat.dump(rat.PI)); print(bigrat.dump(bigrat.PI)); print(bigrat.dump(physics.a)); print(bigrat.dump(bigrat.invert(bigrat.create(), physics.a))); print(bigrat.dump(physics.h)); print(bigrat.dump(physics.hBAR)); print(bigrat.dump(bigrat.fromDecimal(Math.E))); print(bigrat.dump(bigrat.fromDecimal(Math.LN2))); print(bigrat.dump(bigrat.fromDecimal(Math.LOG2E))); print(bigrat.dump(bigrat.fromDecimal(Math.LN10))); print(bigrat.dump(bigrat.fromDecimal(Math.LOG10E)));