aboutsummaryrefslogtreecommitdiff
path: root/Client/ThirdParty/libfixmath/fixsingen
diff options
context:
space:
mode:
Diffstat (limited to 'Client/ThirdParty/libfixmath/fixsingen')
-rw-r--r--Client/ThirdParty/libfixmath/fixsingen/fixsingen.cbp48
-rw-r--r--Client/ThirdParty/libfixmath/fixsingen/fixsingen.depend22
-rw-r--r--Client/ThirdParty/libfixmath/fixsingen/main.c44
3 files changed, 114 insertions, 0 deletions
diff --git a/Client/ThirdParty/libfixmath/fixsingen/fixsingen.cbp b/Client/ThirdParty/libfixmath/fixsingen/fixsingen.cbp
new file mode 100644
index 0000000..7282665
--- /dev/null
+++ b/Client/ThirdParty/libfixmath/fixsingen/fixsingen.cbp
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<CodeBlocks_project_file>
+ <FileVersion major="1" minor="6" />
+ <Project>
+ <Option title="fixsingen" />
+ <Option pch_mode="2" />
+ <Option compiler="gcc" />
+ <Build>
+ <Target title="dbg">
+ <Option output="bin\dbg\fixsingen" prefix_auto="1" extension_auto="1" />
+ <Option object_output="obj\dbg\" />
+ <Option type="1" />
+ <Option compiler="gcc" />
+ <Compiler>
+ <Add option="-g" />
+ </Compiler>
+ </Target>
+ <Target title="rel">
+ <Option output="bin\rel\fixsingen" prefix_auto="1" extension_auto="1" />
+ <Option object_output="obj\rel\" />
+ <Option type="1" />
+ <Option compiler="gcc" />
+ <Compiler>
+ <Add option="-O2" />
+ </Compiler>
+ <Linker>
+ <Add option="-s" />
+ </Linker>
+ </Target>
+ </Build>
+ <Compiler>
+ <Add option="-Wall" />
+ <Add directory="..\" />
+ </Compiler>
+ <Linker>
+ <Add library="..\libfixmath\libfixmath.a" />
+ </Linker>
+ <Unit filename="main.c">
+ <Option compilerVar="CC" />
+ </Unit>
+ <Extensions>
+ <code_completion />
+ <envvars />
+ <debugger />
+ <lib_finder disable_auto="1" />
+ </Extensions>
+ </Project>
+</CodeBlocks_project_file>
diff --git a/Client/ThirdParty/libfixmath/fixsingen/fixsingen.depend b/Client/ThirdParty/libfixmath/fixsingen/fixsingen.depend
new file mode 100644
index 0000000..5876a80
--- /dev/null
+++ b/Client/ThirdParty/libfixmath/fixsingen/fixsingen.depend
@@ -0,0 +1,22 @@
+# depslib dependency file v1.0
+1298649568 source:g:\vrfx\libfixmath\fixsingen\main.c
+ <stdio.h>
+ <stdlib.h>
+ <inttypes.h>
+ <math.h>
+ <libfixmath/fixmath.h>
+
+1298453688 g:\vrfx\libfixmath\\libfixmath\fixmath.h
+ "uint32.h"
+ "fract32.h"
+ "fix16.h"
+
+1298453688 g:\vrfx\libfixmath\\libfixmath\uint32.h
+ <stdint.h>
+
+1298453688 g:\vrfx\libfixmath\\libfixmath\fract32.h
+ <stdint.h>
+
+1298648502 g:\vrfx\libfixmath\\libfixmath\fix16.h
+ <stdint.h>
+
diff --git a/Client/ThirdParty/libfixmath/fixsingen/main.c b/Client/ThirdParty/libfixmath/fixsingen/main.c
new file mode 100644
index 0000000..104b990
--- /dev/null
+++ b/Client/ThirdParty/libfixmath/fixsingen/main.c
@@ -0,0 +1,44 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <math.h>
+#include <libfixmath/fixmath.h>
+
+int main(int argc, char** argv) {
+ FILE* fp = fopen("fix16_trig_sin_lut.h", "wb");
+ if(fp == NULL) {
+ fprintf(stderr, "Error: Unable to open file for writing.\n");
+ return EXIT_FAILURE;
+ }
+
+ // TODO - Store as uint16_t with a count to determine the end and return 1.
+
+ fprintf(fp, "#ifndef __fix16_trig_sin_lut_h__\n");
+ fprintf(fp, "#define __fix16_trig_sin_lut_h__\n");
+ fprintf(fp, "\n");
+
+ fix16_t fix16_sin_lut_count = (fix16_pi >> 1);
+ fix16_t fix16_sin_lut[fix16_sin_lut_count];
+
+ uintptr_t i;
+ for(i = 0; i < fix16_sin_lut_count; i++)
+ fix16_sin_lut[i] = fix16_from_dbl(sin(fix16_to_dbl(i)));
+ for(i--; fix16_sin_lut[i] == fix16_one; i--, fix16_sin_lut_count--);
+
+ fprintf(fp, "static const uint32_t _fix16_sin_lut_count = %"PRIi32";\n", fix16_sin_lut_count);
+ fprintf(fp, "static uint16_t _fix16_sin_lut[%"PRIi32"] = {", fix16_sin_lut_count);
+
+ for(i = 0; i < fix16_sin_lut_count; i++) {
+ if((i & 7) == 0)
+ fprintf(fp, "\n\t");
+ fprintf(fp, "%"PRIi32", ", fix16_sin_lut[i]);
+ }
+ fprintf(fp, "\n\t};\n");
+
+ fprintf(fp, "\n");
+ fprintf(fp, "#endif\n");
+
+ fclose(fp);
+
+ return EXIT_SUCCESS;
+}