function testnominalRate() { // various random calculations $this->assertTrue(abs(0.497999 - Math_Finance::nominalRate(0.5600000000000001, 2)) < FINANCE_PRECISION); $this->assertTrue(abs(0.303643 - Math_Finance::nominalRate(0.34, 4)) < FINANCE_PRECISION); $this->assertTrue(abs(0.6117669999999999 - Math_Finance::nominalRate(0.745, 3)) < FINANCE_PRECISION); $this->assertTrue(abs(0.117417 - Math_Finance::nominalRate(0.1245, 88)) < FINANCE_PRECISION); $this->assertTrue(abs(0.031554 - Math_Finance::nominalRate(0.032, 9)) < FINANCE_PRECISION); $this->assertTrue(abs(0.263683 - Math_Finance::nominalRate(0.293, 5)) < FINANCE_PRECISION); // cannot pass negative number of periods per year $this->assertType('object', Math_Finance::nominalRate(0.293, -5)); }