Example #1
0
function bcfact($fact, $scale = 100)
{
    if ($fact == 1) {
        return 1;
    }
    return bcmul($fact, bcfact(bcsub($fact, '1'), $scale), $scale);
}
Example #2
0
 /**
  * Computes e^this, where e is Euler's constant.
  * @param <int> $iters
  * @param <int> $scale
  * @return blaze\math\BigDecimal
  */
 public function exponentialteWithE($iters = 7, $scale = 100)
 {
     /* Compute e^x. */
     $res = bcadd('1.0', $this->value, $scale);
     for ($i = 0; $i < $iters; $i++) {
         $res += bcdiv(bcpow($this->value, bcadd($i, '2'), $scale), bcfact(bcadd($i, '2'), $scale), $scale);
     }
     return new BigDecimal($res);
 }