Skip to content

Commit

Permalink
Merge pull request #120 from Kai-Striega/enh/nper/perform-c-div
Browse files Browse the repository at this point in the history
ENH: nper: Perform C division where appropriate
  • Loading branch information
Kai-Striega committed Apr 4, 2024
2 parents 8583586 + 5b134ac commit 6c40b8e
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions numpy_financial/_cfinancial.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,16 @@ cdef double nper_inner_loop(
return INFINITY

if rate_ == 0.0:
return -(fv_ + pv_) / pmt_
with cython.cdivision(True):
# We know that pmt_ != 0, we don't need to check for division by 0
return -(fv_ + pv_) / pmt_

if rate_ <= -1.0:
return NAN

z = pmt_ * (1.0 + rate_ * when_) / rate_
with cython.cdivision(True):
# We know that rate_ != 0, we don't need to check for division by 0
z = pmt_ * (1.0 + rate_ * when_) / rate_
return log((-fv_ + z) / (pv_ + z)) / log(1.0 + rate_)


Expand Down

0 comments on commit 6c40b8e

Please sign in to comment.