/*
   ============================================================================
   Hyperbolic Sine Function For (x).

   ERRORS:
   Returns FALSE if (xArg) is non-numeric.

   DEPENDENCY: BC_Ln()
   ============================================================================
*/

   function BC_Sinh ($xArg, $Decimals=16)
{
   $Q = 100;
   $x = trim($xArg);  if (!Is_Numeric($x)) {return FALSE;}
   $S = (bcComp($x, '0', $Q) < 0)? '-':'';
   $x = Str_Replace('+', '', Str_Replace('-', '', $x));
   $q = trim($Decimals);   if ($q < 1){$q = 1;}   if ($q > 100){$q = 100;}

   $sinh = BC_Ln(bcAdd($x,bcsqrt(bcAdd(bcMul($x,$x,$Q),'1',$Q),$Q),$Q),$Q);

   return $S.bcAdd($sinh, '0.'.Str_Repeat('0',$q).'5',$q);

}  // End of  BC_Sinh()