var ITMAX=100 var EPS=3.0e-7 var FPMIN=1.0e-30 var ACUMULADA=0 var ENTRECAUDAS=1 /* ******* CLASS RESULTADO *************** Encapsula o resultado das chamadas às funções. Objetos instanciados dessa classe possuem uma propriedade "erro" (inicialmente false). Caso a propriedade "erro" seja true, haverá outra propriedade "valor" contendo a mensagem de erro. Caso não haja erro haverá uma propriedade "valor", contendo o resultado principal da função. Dependendo da função poderão existir outras propriedades. O método "msg(mensagem)" coloca uma mensagem de erro no objeto, e faz com que a propriedade "erro" seja true. Retorna uma instância do próprio objeto. O método "val(valor)" coloca um valor na propriedade "valor" e retorna a instância do próprio objeto. */ function Resultado(){ this.erro=false this.msg = function msg(mensagem){ this.erro=true this.valor=mensagem return this }// method pass this.val = function val(valor){ this.valor=valor return this }// method val }// class Resultado /* ********* FUNCTION GAMMLN(n) ******************* Calcula o logaritmo natural da função gama de n */ function gammln(n) { var c = new Array(7) c[0]=1.000000000190015 c[1]=76.18009172947146 c[2]=-86.50532032941677 c[3]=24.01409824083091 c[4]=-1.231739572450155 c[5]=0.00120865097386617 c[6]=-0.000005395239384953 var tmp = 0.0 var soma = 0.0 var y = 0.0 tmp = n+5.5 tmp = tmp-(n+0.5)*Math.log(tmp) y = n+1 soma = c[0] for(var j=1; j<=6; j++, y++) soma += c[j]/y return -tmp+Math.log(2.5066282746310005*soma/n) } //function gammln