# cmath3d
3d math library for C. Vectors, 3x3 matrices, quaternions. 32-bit floats.
+## motivation
This library is intended for embedded projects where C++ is not used.
In the author's opinion, C++'s feature set enables dramatically
more readable 3d math code. However, many embedded projects stick with C
best possible programmer experience within the constraints of C syntax.
**If cmath3d is missing something you need, feature requests are encouraged.**
+## design choices
Unlike many other C libraries of this type, `cmath3d` passes arguments
and returns results by value instead of by pointer and pointer-to-output.
This choice has several motivations:
I am currently researching ways to fix this problem, since I believe
a SSA compiler with the ability to destructure structs should produce
optimal code from this library.
+
+## note for users
+If you use `cmath3d` in your project,
+I would very much appreciate it if you leave a comment in #2.