summaryrefslogtreecommitdiff
path: root/demo/sin_cos.c
diff options
context:
space:
mode:
Diffstat (limited to 'demo/sin_cos.c')
-rw-r--r--demo/sin_cos.c263
1 files changed, 263 insertions, 0 deletions
diff --git a/demo/sin_cos.c b/demo/sin_cos.c
new file mode 100644
index 0000000..d3adb00
--- /dev/null
+++ b/demo/sin_cos.c
@@ -0,0 +1,263 @@
+#include "float16.h"
+
+/* Índice es un byte n, donde el ángulo es n pi / 128. Esto cubre
+ * desde 0 hasta justo antes de 2pi. El tipo de dato es float16.
+ */
+const struct f16_sin_cos f16_sin_cos[256] = {
+ { 0x3c00, 0x0000 },
+ { 0x3bff, 0x2648 },
+ { 0x3bfe, 0x2a48 },
+ { 0x3bfa, 0x2cb5 },
+ { 0x3bf6, 0x2e46 },
+ { 0x3bf1, 0x2fd6 },
+ { 0x3bea, 0x30b2 },
+ { 0x3be2, 0x3179 },
+ { 0x3bd9, 0x323e },
+ { 0x3bce, 0x3303 },
+ { 0x3bc3, 0x33c6 },
+ { 0x3bb6, 0x3444 },
+ { 0x3ba8, 0x34a5 },
+ { 0x3b99, 0x3505 },
+ { 0x3b88, 0x3564 },
+ { 0x3b77, 0x35c2 },
+ { 0x3b64, 0x361f },
+ { 0x3b50, 0x367c },
+ { 0x3b3b, 0x36d7 },
+ { 0x3b25, 0x3732 },
+ { 0x3b0e, 0x378b },
+ { 0x3af6, 0x37e3 },
+ { 0x3add, 0x381d },
+ { 0x3ac2, 0x3848 },
+ { 0x3aa7, 0x3872 },
+ { 0x3a8a, 0x389b },
+ { 0x3a6d, 0x38c4 },
+ { 0x3a4f, 0x38ec },
+ { 0x3a2f, 0x3913 },
+ { 0x3a0f, 0x393a },
+ { 0x39ed, 0x395f },
+ { 0x39cb, 0x3984 },
+ { 0x39a8, 0x39a8 },
+ { 0x3984, 0x39cb },
+ { 0x395f, 0x39ed },
+ { 0x393a, 0x3a0f },
+ { 0x3913, 0x3a2f },
+ { 0x38ec, 0x3a4f },
+ { 0x38c4, 0x3a6d },
+ { 0x389b, 0x3a8a },
+ { 0x3872, 0x3aa7 },
+ { 0x3848, 0x3ac2 },
+ { 0x381d, 0x3add },
+ { 0x37e3, 0x3af6 },
+ { 0x378b, 0x3b0e },
+ { 0x3732, 0x3b25 },
+ { 0x36d7, 0x3b3b },
+ { 0x367c, 0x3b50 },
+ { 0x361f, 0x3b64 },
+ { 0x35c2, 0x3b77 },
+ { 0x3564, 0x3b88 },
+ { 0x3505, 0x3b99 },
+ { 0x34a5, 0x3ba8 },
+ { 0x3444, 0x3bb6 },
+ { 0x33c6, 0x3bc3 },
+ { 0x3303, 0x3bce },
+ { 0x323e, 0x3bd9 },
+ { 0x3179, 0x3be2 },
+ { 0x30b2, 0x3bea },
+ { 0x2fd6, 0x3bf1 },
+ { 0x2e46, 0x3bf6 },
+ { 0x2cb5, 0x3bfa },
+ { 0x2a48, 0x3bfe },
+ { 0x2648, 0x3bff },
+ { 0x0000, 0x3c00 },
+ { 0xa648, 0x3bff },
+ { 0xaa48, 0x3bfe },
+ { 0xacb5, 0x3bfa },
+ { 0xae46, 0x3bf6 },
+ { 0xafd6, 0x3bf1 },
+ { 0xb0b2, 0x3bea },
+ { 0xb179, 0x3be2 },
+ { 0xb23e, 0x3bd9 },
+ { 0xb303, 0x3bce },
+ { 0xb3c6, 0x3bc3 },
+ { 0xb444, 0x3bb6 },
+ { 0xb4a5, 0x3ba8 },
+ { 0xb505, 0x3b99 },
+ { 0xb564, 0x3b88 },
+ { 0xb5c2, 0x3b77 },
+ { 0xb61f, 0x3b64 },
+ { 0xb67c, 0x3b50 },
+ { 0xb6d7, 0x3b3b },
+ { 0xb732, 0x3b25 },
+ { 0xb78b, 0x3b0e },
+ { 0xb7e3, 0x3af6 },
+ { 0xb81d, 0x3add },
+ { 0xb848, 0x3ac2 },
+ { 0xb872, 0x3aa7 },
+ { 0xb89b, 0x3a8a },
+ { 0xb8c4, 0x3a6d },
+ { 0xb8ec, 0x3a4f },
+ { 0xb913, 0x3a2f },
+ { 0xb93a, 0x3a0f },
+ { 0xb95f, 0x39ed },
+ { 0xb984, 0x39cb },
+ { 0xb9a8, 0x39a8 },
+ { 0xb9cb, 0x3984 },
+ { 0xb9ed, 0x395f },
+ { 0xba0f, 0x393a },
+ { 0xba2f, 0x3913 },
+ { 0xba4f, 0x38ec },
+ { 0xba6d, 0x38c4 },
+ { 0xba8a, 0x389b },
+ { 0xbaa7, 0x3872 },
+ { 0xbac2, 0x3848 },
+ { 0xbadd, 0x381d },
+ { 0xbaf6, 0x37e3 },
+ { 0xbb0e, 0x378b },
+ { 0xbb25, 0x3732 },
+ { 0xbb3b, 0x36d7 },
+ { 0xbb50, 0x367c },
+ { 0xbb64, 0x361f },
+ { 0xbb77, 0x35c2 },
+ { 0xbb88, 0x3564 },
+ { 0xbb99, 0x3505 },
+ { 0xbba8, 0x34a5 },
+ { 0xbbb6, 0x3444 },
+ { 0xbbc3, 0x33c6 },
+ { 0xbbce, 0x3303 },
+ { 0xbbd9, 0x323e },
+ { 0xbbe2, 0x3179 },
+ { 0xbbea, 0x30b2 },
+ { 0xbbf1, 0x2fd6 },
+ { 0xbbf6, 0x2e46 },
+ { 0xbbfa, 0x2cb5 },
+ { 0xbbfe, 0x2a48 },
+ { 0xbbff, 0x2648 },
+ { 0xbc00, 0x0000 },
+ { 0xbbff, 0xa648 },
+ { 0xbbfe, 0xaa48 },
+ { 0xbbfa, 0xacb5 },
+ { 0xbbf6, 0xae46 },
+ { 0xbbf1, 0xafd6 },
+ { 0xbbea, 0xb0b2 },
+ { 0xbbe2, 0xb179 },
+ { 0xbbd9, 0xb23e },
+ { 0xbbce, 0xb303 },
+ { 0xbbc3, 0xb3c6 },
+ { 0xbbb6, 0xb444 },
+ { 0xbba8, 0xb4a5 },
+ { 0xbb99, 0xb505 },
+ { 0xbb88, 0xb564 },
+ { 0xbb77, 0xb5c2 },
+ { 0xbb64, 0xb61f },
+ { 0xbb50, 0xb67c },
+ { 0xbb3b, 0xb6d7 },
+ { 0xbb25, 0xb732 },
+ { 0xbb0e, 0xb78b },
+ { 0xbaf6, 0xb7e3 },
+ { 0xbadd, 0xb81d },
+ { 0xbac2, 0xb848 },
+ { 0xbaa7, 0xb872 },
+ { 0xba8a, 0xb89b },
+ { 0xba6d, 0xb8c4 },
+ { 0xba4f, 0xb8ec },
+ { 0xba2f, 0xb913 },
+ { 0xba0f, 0xb93a },
+ { 0xb9ed, 0xb95f },
+ { 0xb9cb, 0xb984 },
+ { 0xb9a8, 0xb9a8 },
+ { 0xb984, 0xb9cb },
+ { 0xb95f, 0xb9ed },
+ { 0xb93a, 0xba0f },
+ { 0xb913, 0xba2f },
+ { 0xb8ec, 0xba4f },
+ { 0xb8c4, 0xba6d },
+ { 0xb89b, 0xba8a },
+ { 0xb872, 0xbaa7 },
+ { 0xb848, 0xbac2 },
+ { 0xb81d, 0xbadd },
+ { 0xb7e3, 0xbaf6 },
+ { 0xb78b, 0xbb0e },
+ { 0xb732, 0xbb25 },
+ { 0xb6d7, 0xbb3b },
+ { 0xb67c, 0xbb50 },
+ { 0xb61f, 0xbb64 },
+ { 0xb5c2, 0xbb77 },
+ { 0xb564, 0xbb88 },
+ { 0xb505, 0xbb99 },
+ { 0xb4a5, 0xbba8 },
+ { 0xb444, 0xbbb6 },
+ { 0xb3c6, 0xbbc3 },
+ { 0xb303, 0xbbce },
+ { 0xb23e, 0xbbd9 },
+ { 0xb179, 0xbbe2 },
+ { 0xb0b2, 0xbbea },
+ { 0xafd6, 0xbbf1 },
+ { 0xae46, 0xbbf6 },
+ { 0xacb5, 0xbbfa },
+ { 0xaa48, 0xbbfe },
+ { 0xa648, 0xbbff },
+ { 0x8000, 0xbc00 },
+ { 0x2648, 0xbbff },
+ { 0x2a48, 0xbbfe },
+ { 0x2cb5, 0xbbfa },
+ { 0x2e46, 0xbbf6 },
+ { 0x2fd6, 0xbbf1 },
+ { 0x30b2, 0xbbea },
+ { 0x3179, 0xbbe2 },
+ { 0x323e, 0xbbd9 },
+ { 0x3303, 0xbbce },
+ { 0x33c6, 0xbbc3 },
+ { 0x3444, 0xbbb6 },
+ { 0x34a5, 0xbba8 },
+ { 0x3505, 0xbb99 },
+ { 0x3564, 0xbb88 },
+ { 0x35c2, 0xbb77 },
+ { 0x361f, 0xbb64 },
+ { 0x367c, 0xbb50 },
+ { 0x36d7, 0xbb3b },
+ { 0x3732, 0xbb25 },
+ { 0x378b, 0xbb0e },
+ { 0x37e3, 0xbaf6 },
+ { 0x381d, 0xbadd },
+ { 0x3848, 0xbac2 },
+ { 0x3872, 0xbaa7 },
+ { 0x389b, 0xba8a },
+ { 0x38c4, 0xba6d },
+ { 0x38ec, 0xba4f },
+ { 0x3913, 0xba2f },
+ { 0x393a, 0xba0f },
+ { 0x395f, 0xb9ed },
+ { 0x3984, 0xb9cb },
+ { 0x39a8, 0xb9a8 },
+ { 0x39cb, 0xb984 },
+ { 0x39ed, 0xb95f },
+ { 0x3a0f, 0xb93a },
+ { 0x3a2f, 0xb913 },
+ { 0x3a4f, 0xb8ec },
+ { 0x3a6d, 0xb8c4 },
+ { 0x3a8a, 0xb89b },
+ { 0x3aa7, 0xb872 },
+ { 0x3ac2, 0xb848 },
+ { 0x3add, 0xb81d },
+ { 0x3af6, 0xb7e3 },
+ { 0x3b0e, 0xb78b },
+ { 0x3b25, 0xb732 },
+ { 0x3b3b, 0xb6d7 },
+ { 0x3b50, 0xb67c },
+ { 0x3b64, 0xb61f },
+ { 0x3b77, 0xb5c2 },
+ { 0x3b88, 0xb564 },
+ { 0x3b99, 0xb505 },
+ { 0x3ba8, 0xb4a5 },
+ { 0x3bb6, 0xb444 },
+ { 0x3bc3, 0xb3c6 },
+ { 0x3bce, 0xb303 },
+ { 0x3bd9, 0xb23e },
+ { 0x3be2, 0xb179 },
+ { 0x3bea, 0xb0b2 },
+ { 0x3bf1, 0xafd6 },
+ { 0x3bf6, 0xae46 },
+ { 0x3bfa, 0xacb5 },
+ { 0x3bfe, 0xaa48 },
+ { 0x3bff, 0xa648 },
+};