Post Reply 
Optimized Stack Operations
02-27-2019, 11:04 AM
Post: #25
RE: Optimized Stack Operations
I tried to test CORDIC and developed the following code for sin(x) ... calculates cos(x) too:

Code:

#define CORDICSTEPS 16 // (>8)
#define AIMAX 8
double const ai[AIMAX] = {
  0.7853982,
  0.4636476,
  0.2449787,
  0.1243550,
  0.0624188,
  0.0312398,
  0.0156237,
  0.0078123
};
static double _sin(double f) { // Calculate sin
  long i2 = 1;
  int8_t sign;
  double tani, a, angle = 0.0, x = 1.0, y = 0.0, xtmp;
  for (byte i = 0; i < CORDICSTEPS; i++) {
    tani = 1.0 / i2;
    a = i < AIMAX ? ai[i] : tani;
    sign = angle > f ? -1 : 1;
    angle += sign * a;
    xtmp = x - sign * tani * y; // Rotating vector
    y = sign * tani * x + y;
    x = xtmp;
    i2 *= 2;
  }
  return (y * 0.607253);
}

Unfortunately this (surely not optimized) code seems less precise (personal feeling; even if I extend the loop to 20) and needs more memory than my old Taylor routine for calculating exp, sin and asin.

What did I miss? ... to many doubles?
How can I calculate exp or asin?
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Optimized Stack Operations - deetee - 02-25-2019, 06:35 AM
RE: Optimized Stack Operations - ijabbott - 02-25-2019, 07:57 AM
RE: Optimized Stack Operations - grsbanks - 02-25-2019, 08:03 AM
RE: Optimized Stack Operations - deetee - 02-25-2019, 08:42 AM
RE: Optimized Stack Operations - deetee - 02-25-2019, 09:04 AM
RE: Optimized Stack Operations - grsbanks - 02-25-2019, 09:14 AM
RE: Optimized Stack Operations - deetee - 02-25-2019, 09:45 AM
RE: Optimized Stack Operations - grsbanks - 02-25-2019, 09:50 AM
RE: Optimized Stack Operations - deetee - 02-25-2019, 09:57 AM
RE: Optimized Stack Operations - grsbanks - 02-25-2019, 10:00 AM
RE: Optimized Stack Operations - grsbanks - 02-25-2019, 10:09 AM
RE: Optimized Stack Operations - Leviset - 02-25-2019, 12:37 PM
RE: Optimized Stack Operations - deetee - 02-26-2019, 06:57 AM
RE: Optimized Stack Operations - rprosperi - 02-25-2019, 08:04 PM
RE: Optimized Stack Operations - rprosperi - 02-25-2019, 09:49 PM
RE: Optimized Stack Operations - deetee - 02-26-2019, 10:40 AM
RE: Optimized Stack Operations - Paul Dale - 02-26-2019, 10:52 AM
RE: Optimized Stack Operations - deetee - 02-26-2019, 03:00 PM
RE: Optimized Stack Operations - deetee - 02-27-2019 11:04 AM
RE: Optimized Stack Operations - grsbanks - 02-27-2019, 11:13 AM
RE: Optimized Stack Operations - deetee - 03-03-2019, 08:25 AM
RE: Optimized Stack Operations - Paul Dale - 03-03-2019, 08:32 AM
RE: Optimized Stack Operations - deetee - 03-05-2019, 08:36 AM



User(s) browsing this thread: 1 Guest(s)