Advertisement
agmike

Ln

Aug 23rd, 2014
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.63 KB | None | 0 0
  1.     // Testing: https://ideone.com/u0IkCn
  2.     define float LogError = 0.00000005f;
  3.    
  4.     public static float Log(float value)
  5.     {
  6.         float nom = (value - 1.0f) / (value + 1.0f);
  7.         float dnm = 1.0f;
  8.         float p = nom * nom;
  9.         float a = nom;
  10.         float log = a;
  11.         while (true) {
  12.             nom = nom * p;
  13.             dnm = dnm + 2.0f;
  14.             float an = nom / dnm;
  15.             log = log + an;
  16.             float delta = an - a;
  17.             if (delta < 0) delta = -delta;
  18.             if (delta <= LogError)
  19.                 break;
  20.             a = an;
  21.         }
  22.         return 2.0f * log;
  23.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement