0

I am trying to implement an exponential function using the CORDIC method. I am able to get the 'basic' version to work fine, but that only works for a very limited input range (i.e., inputs smaller than 1.11). I found this paper titled 'Expanding the range of convergence of the CORDIC algorithm', which seems to be widely used to expand this range. However, when I try to implement their approach, I am running into an issue. Specifically, with equations 34 and 35. In short, I need to calculate values from a value -M to +N. Based on equation 35, when I calculate the value for i=1, it evaluates arctanh(2^-0). Ofcourse arctanh(1) is undefined and the algorithm cannot proceed.

$i \leq 0 : Z_{i+1} = Z_{i} = \delta_itanh^{-1}(1-2^{i-2}) ... eq(34)$

$i > 0 : Z_{i+1} = Z_{i} = \delta_itanh^{-1}(2^{i}) ... eq(35)$

It seems this work is widely used as I have seen several other papers implement this. So I feel as though I am doing something wrong. If someone can spot what I am doing wrong, I would greatly appreciate it!

  • 1
    Int order to make your question self-contained it would be nice to include equations 34 and 35 as well as a few other needed pieces of context. – Somos Mar 19 '19 at 20:43
  • @Somos Thank you! I added the equations from the paper as you suggested. – user3397008 Mar 19 '19 at 22:07
  • From you4 eq(35) $i>0$ and so I can't figure out how you got arctanh(2^-0) from that. You need to give us more context for this question. – Somos Mar 19 '19 at 23:02

0 Answers0