Skip to content

Instantly share code, notes, and snippets.

View MrAnnix's full-sized avatar

Raúl San Martín Aniceto MrAnnix

View GitHub Profile

Keybase proof

I hereby claim:

  • I am MrAnnix on github.
  • I am mrannix (https://keybase.io/mrannix) on keybase.
  • I have a public key whose fingerprint is 0C0F 0393 7E63 988C 6F7B 7741 2F3C 7476 1246 0EB9

To claim this, I am signing this object:

@MrAnnix
MrAnnix / fast_sin.c
Last active July 6, 2020 11:24
Very accurate and fast sine computation based on Bhaskara I's sine approximation formula. https://en.wikipedia.org/wiki/Bhaskara_I%27s_sine_approximation_formula
#define E_PI 3.141592653589793238462643383279502884197169399375105820974
#define E_TAU 6.283185307179586476925286766559005768394338798750211641950
#define E_PI_SQ 9.869604401089358618834490999876151135313699407240790626413
double fast_sin(double var){
int loops = var/(2*E_PI);
var = var - loops*2*E_PI;
if(var>E_PI){
var = E_PI - var;