sin , cos の値を計算で求めるアルゴリズム
sin , cos の値を計算で求めるアルゴリズム
var sin_cnt = 0, cos_cnt = 0; function sin (x) { let s = x, y = -x*x, b = 1, i = 1, r = x, m; do { sin_cnt++; m = r; r += (s*=y) / (b *= ++i*++i); } while (m - r); return r; } function cos (x) { let s = 1, b = 1, y = -x*x, i = 0, r = 1, m; do { cos_cnt++; m = r; r += (s *= y) / (b *= ++i * ++i); } while (m - r); return r; } for (let x = 0; x < 45; x++) { let i = x * Math.PI/180; console.log (x,Math.sin (i)- sin (i)); console.log (x,Math.cos (i)- cos (i)); } console.log (sin_cnt / 45, cos_cnt /45);
おおよそではあるが、ループ内は平均で7回程度回っている