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};
