diff options
| author | Alejandro Soto <alejandro@34project.org> | 2023-11-21 22:21:37 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2023-11-21 22:21:41 -0600 |
| commit | 3f5ec7003075eb78e7e2a7b179cbcd3a6c9e294d (patch) | |
| tree | 45e5aeb39b02198e92eab7ed5a167289d31a02aa /demo/sin_cos.c | |
| parent | b943b9970564be0e4e8782b0f748912339e1009a (diff) | |
demo: implement float16 support
Diffstat (limited to '')
| -rw-r--r-- | demo/sin_cos.c | 263 |
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 }, +}; |
