From: James Alan Preiss Date: Sat, 30 Dec 2017 02:58:54 +0000 (-0800) Subject: Update README.md X-Git-Url: https://git.owens.tech/assets/static/git-logo.png/assets/static/git-logo.png/git?a=commitdiff_plain;h=f17fc24575786169bb35d8538acb47504134b9b0;p=forks%2Fcmath3d.git Update README.md --- diff --git a/README.md b/README.md index 4bb6031..caf2d8b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # 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 @@ -8,6 +9,7 @@ by necessity or preference. The goal of this project is to create the 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: @@ -27,3 +29,7 @@ more stack memory than it should. 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.