diff options
author | Mango0x45 <thomasvoss@live.com> | 2021-01-18 21:49:09 +0000 |
---|---|---|
committer | Mango0x45 <thomasvoss@live.com> | 2021-01-18 21:49:09 +0000 |
commit | 91b4d2e34e27f4d3c5c7efc5490e8ab3540be138 (patch) | |
tree | db01197df1bdb66a856b905f8451c2d8dd7d2ef2 /bc_funcs/trig.bc | |
parent | 1c4ab84de4804bb2824bd6cf071821a8e1892e24 (diff) | |
download | steve-bot-91b4d2e34e27f4d3c5c7efc5490e8ab3540be138.tar steve-bot-91b4d2e34e27f4d3c5c7efc5490e8ab3540be138.tar.gz steve-bot-91b4d2e34e27f4d3c5c7efc5490e8ab3540be138.tar.bz2 steve-bot-91b4d2e34e27f4d3c5c7efc5490e8ab3540be138.tar.lz steve-bot-91b4d2e34e27f4d3c5c7efc5490e8ab3540be138.tar.xz steve-bot-91b4d2e34e27f4d3c5c7efc5490e8ab3540be138.tar.zst steve-bot-91b4d2e34e27f4d3c5c7efc5490e8ab3540be138.zip |
Merge BC files into one
Diffstat (limited to 'bc_funcs/trig.bc')
-rw-r--r-- | bc_funcs/trig.bc | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/bc_funcs/trig.bc b/bc_funcs/trig.bc deleted file mode 100644 index 9a4fcb3..0000000 --- a/bc_funcs/trig.bc +++ /dev/null @@ -1,98 +0,0 @@ -define sin(x) { - auto b, s, r, a, q, i - - if (x < 0) - return (-sin(-x)) - - b = ibase - ibase = A - s = scale - scale = 1.1 * s + 2 - a = atan(1) - scale = 0 - q = (x / a + 2) / 4 - x -= 4 * q * a - - if (q % 2) - x = -x - - scale = s + 2 - r = a = x - q = -x * x - - for (i = 3; a; i += 2) { - a *= q / (i * (i - 1)) - r += a - } - - scale = s - ibase = b - return (r / 1) -} - -define cos(x) { - auto b, s - b = ibase - ibase = A - s = scale - scale *= 1.2 - x = sin(2 * atan(1) + x) - scale = s - ibase = b - - return (x / 1) -} - -define atan(x) { - auto b, s, r, n, a, m, t, f, i, u - b = ibase - ibase = A - n = 1 - - if (x < 0) { - n = -1 - x = -x - } - - if (scale < 65) { - if (x == 1) { - r = .7853981633974483096156608458198757210492923498437764552437361480/n - ibase = b - return (r) - } - - if (x == .2) { - r = .1973955598498807583700497651947902934475851037878521015176889402/n - ibase = b - return (r) - } - } - - s = scale - - if (x > .2) { - scale += 5 - a = atan(.2) - } - - scale = s + 3 - - while (x > .2) { - m += 1 - x = (x - .2) / (1 + .2 * x) - } - - r = u = x - f = -x * x - t = 1 - - for (i = 3; t; i += 2) { - u *= f - t = u / i - r += t - } - - scale = s - ibase = b - return ((m * a + r) / n) -} |