mpFactorial method

void mpFactorial(
  1. MPData ret,
  2. int x
)

Implementation

void mpFactorial( MPData ret, int x ){
  bool m = false;
  if( x < 0 ){
    m = true;
    x = 0 - x;
  }
  mp.str2num( ret, "1" );
  MPData ii = MPData();
  for( int i = 2; i <= x; i++ ){
    mp.str2num( ii, "$i" );
    mp.mul( ret, ret, ii );
  }
  if( m ){
    mp.neg( ret );
  }
}