@Override
	public Ptg calculatePtg( Ptg[] form )
	{
		try
		{
			// 20090202 KSC: Handle array formulas
			Object[] o = super.getValuesFromPtgs( form );
			if( !o[0].getClass().isArray() )
			{
				//double[] dub = super.getValuesFromPtgs(form);
				// there should always be only two ptg's in this, error if not.
				if( (o == null) || (o.length != 2) )
				{
					log.warn( "calculating formula failed, wrong number of values in PtgPower" );
					return null;
				}
				//double returnVal = Math.pow(dub[0].doubleValue(), dub[1].doubleValue());
				double returnVal = Math.pow( (Double) o[0], (Double) o[1] );
				// create a container ptg for these.
				PtgNumber n = new PtgNumber( returnVal );
				return n;
			}
			// TODO: FINISH ARRAY FORMULAS
			return new PtgErr( PtgErr.ERROR_VALUE );
		}
		catch( Exception e )
		{
			return new PtgErr( PtgErr.ERROR_VALUE );
		}
	}