protected static Ptg calcAsinh( Ptg[] operands )
	{
		if( operands.length != 1 )
		{
			return PtgCalculator.getNAError();
		}
		double x = 0.0;
		try
		{
			x = operands[0].getDoubleVal();
		}
		catch( NumberFormatException e )
		{
			return PtgCalculator.getValueError();
		}
		if( new Double( x ).isNaN() ) // Not a Num -- possibly PtgErr
		{
			return PtgCalculator.getError();
		}

// KSC: TESTING: I BELIEVE THE CALCULATION IS NOT CORRECT!    
		BigDecimal bd = new BigDecimal( ((x > 0.0) ? 1.0 : -1.0) * getAcosh( Math.sqrt( 1.0 + (x * x) ) ) );
		bd.setScale( 15, BigDecimal.ROUND_HALF_UP );
//	PtgNumber ptnum = new PtgNumber(dd);
		PtgNumber ptnum = new PtgNumber( bd.doubleValue() );
		return ptnum;
	}