anchor.diff:        DATA ntop,a(1)/0,1./
   
         if (n.lt.0) then 
  -        write (*,*) 'negative factorial in factrl' 
  +c        write (*,*) 'negative factorial in factrl' 
  +        factrl=-infinity
  +        return
         else if (n.le.ntop) then 
   C Already in table. 
           factrl=a(n+1) 
  
positive.code:         endif
          
          if ((ptmp .LE. 0.0) .OR. (ptmp .GE. 1.0)) then
            like = -infinity
            RETURN
          endif
          
          like = like + x(i)*dlog(ptmp) + (ntmp-x(i))*dlog(1.-ptmp)
  
negative.code: C Returns the value n! as a floating-point number. 
  
        INTEGER n 
        DOUBLE PRECISION infinity
        PARAMETER (infinity = 1.7976931348623157d308)
  
        INTEGER j,ntop 
  C Table to be filled in only as required. 
  