protected static Ptg calcCoupDaysNC( Ptg[] operands )
	{
		if( operands.length < 2 )
		{
			return new PtgErr( PtgErr.ERROR_NULL );
		}
			debugOperands( operands, "COUPDAYSNC" );
		long settlementDate = new Long( operands[0].getValue().toString() );
		long maturityDate = new Long( operands[1].getValue().toString() );
		int frequency = operands[2].getIntVal();
		int basis = 0;
		if( operands.length > 3 )
		{
			basis = operands[3].getIntVal();
		}
		//		 TODO: if dates are not valid, return #VALUE! error
		if( (basis < 0) || (basis > 4) )
		{
			return new PtgErr( PtgErr.ERROR_NUM );
		}
		if( !((frequency == 1) || (frequency == 2) || (frequency == 4)) )
		{
			return new PtgErr( PtgErr.ERROR_NUM );
		}
		if( settlementDate > maturityDate )
		{
			return new PtgErr( PtgErr.ERROR_NUM );
		}

		long ncd = PtgCalculator.getLongValue( calcCoupNCD( operands ) );

		double result = getDaysFromBasis( basis, settlementDate, ncd );
			log.debug( "Result from calcCoupDaysNC= " + result );
		PtgNumber pnum = new PtgNumber( result );
		return pnum;
	}