MathContext.prototype.getDigits=getDigits;MathContext.prototype.getForm=getForm;MathContext.prototype.getLostDigits=getLostDigits;MathContext.prototype.getRoundingMode=getRoundingMode;MathContext.prototype.toString=toString;MathContext.prototype.isValidRound=isValidRound;MathContext.prototype.PLAIN=0;MathContext.prototype.SCIENTIFIC=1;MathContext.prototype.ENGINEERING=2;MathContext.prototype.ROUND_CEILING=2;MathContext.prototype.ROUND_DOWN=1;MathContext.prototype.ROUND_FLOOR=3;MathContext.prototype.ROUND_HALF_DOWN=5;MathContext.prototype.ROUND_HALF_EVEN=6;MathContext.prototype.ROUND_HALF_UP=4;MathContext.prototype.ROUND_UNNECESSARY=7;MathContext.prototype.ROUND_UP=0;MathContext.prototype.DEFAULT_FORM=MathContext.prototype.SCIENTIFIC;MathContext.prototype.DEFAULT_DIGITS=9;MathContext.prototype.DEFAULT_LOSTDIGITS=false;MathContext.prototype.DEFAULT_ROUNDINGMODE=MathContext.prototype.ROUND_HALF_UP;MathContext.prototype.MIN_DIGITS=0;MathContext.prototype.MAX_DIGITS=999999999;MathContext.prototype.ROUNDS=new Array(MathContext.prototype.ROUND_HALF_UP,MathContext.prototype.ROUND_UNNECESSARY,MathContext.prototype.ROUND_CEILING,MathContext.prototype.ROUND_DOWN,MathContext.prototype.ROUND_FLOOR,MathContext.prototype.ROUND_HALF_DOWN,MathContext.prototype.ROUND_HALF_EVEN,MathContext.prototype.ROUND_UP);MathContext.prototype.ROUNDWORDS=new Array("ROUND_HALF_UP","ROUND_UNNECESSARY","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_UP");MathContext.prototype.DEFAULT=new MathContext(MathContext.prototype.DEFAULT_DIGITS,MathContext.prototype.DEFAULT_FORM,MathContext.prototype.DEFAULT_LOSTDIGITS,MathContext.prototype.DEFAULT_ROUNDINGMODE);function MathContext(){this.digits=0;this.form=0;this.lostDigits=false;this.roundingMode=0;var a=this.DEFAULT_FORM;var d=this.DEFAULT_LOSTDIGITS;var c=this.DEFAULT_ROUNDINGMODE;if(MathContext.arguments.length==4){a=MathContext.arguments[1];d=MathContext.arguments[2];c=MathContext.arguments[3];}else{if(MathContext.arguments.length==3){a=MathContext.arguments[1];d=MathContext.arguments[2];}else{if(MathContext.arguments.length==2){a=MathContext.arguments[1];}else{if(MathContext.arguments.length!=1){throw"MathContext(): "+MathContext.arguments.length+" arguments given; expected 1 to 4";}}}}var b=MathContext.arguments[0];if(b!=this.DEFAULT_DIGITS){if(b<this.MIN_DIGITS){throw"MathContext(): Digits too small: "+b;}if(b>this.MAX_DIGITS){throw"MathContext(): Digits too large: "+b;}}if(a==this.SCIENTIFIC){}else{if(a==this.ENGINEERING){}else{if(a==this.PLAIN){}else{throw"MathContext() Bad form value: "+a;}}}if((!(this.isValidRound(c)))){throw"MathContext(): Bad roundingMode value: "+c;}this.digits=b;this.form=a;this.lostDigits=d;this.roundingMode=c;return;}function getDigits(){return this.digits;}function getForm(){return this.form;}function getLostDigits(){return this.lostDigits;}function getRoundingMode(){return this.roundingMode;}function toString(){var d=null;var c=0;var b=null;if(this.form==this.SCIENTIFIC){d="SCIENTIFIC";}else{if(this.form==this.ENGINEERING){d="ENGINEERING";}else{d="PLAIN";}}var a=this.ROUNDS.length;c=0;c:for(;a>0;a--,c++){if(this.roundingMode==this.ROUNDS[c]){b=this.ROUNDWORDS[c];break c;}}return"digits="+this.digits+" form="+d+" lostDigits="+(this.lostDigits?"1":"0")+" roundingMode="+b;}function isValidRound(b){var a=0;var c=this.ROUNDS.length;a=0;a:for(;c>0;c--,a++){if(b==this.ROUNDS[a]){return true;}}return false;}
