SayoriOS  0.3.3
log.c
1 #include "lib/math.h"
2 
3 double log(double x) {
4  if (x <= 0) {
5  return -1;
6  }
7 
8  double result = 0.0;
9  double term = (x - 1) / (x + 1);
10  double term_squared = term * term;
11  double numerator = term;
12 
13  for (int n = 1; n < 200; n += 2) {
14  result += numerator / n;
15  numerator *= term_squared;
16  }
17 
18  return 2 * result;
19 }