strangezak
3908aa6a10
Updated Docs
2021-03-14 18:29:07 -07:00
Zakary Strange
d0ae200589
Fix comment location
2021-03-11 11:54:36 -08:00
strangezak
30633daa77
Inline all functions
2021-03-11 11:52:05 -08:00
Zak Strange
1f0c6ba493
Update Docs.
2021-03-09 16:37:00 -08:00
Zak Strange
1d82b4f0bc
Unary minus vectors ( #130 )
...
* Unary Minus operator for vec2, vec3, and vec4
* Update README.md
Co-authored-by: zak <zak@DESKTOP-V1AQ0IT>
1.12.0
2021-03-06 18:39:17 -06:00
Zak Strange
2fa0b36715
Add HMM_STATIC option to statically link instead of extern ( #127 )
...
Co-authored-by: zak <zak@DESKTOP-V1AQ0IT>
2021-02-17 19:36:05 -08:00
Ben Visness
ad169e649c
Make HMM_Clamp branchless in optimized builds ( #122 )
2020-12-22 11:19:58 -06:00
Zak Strange
1900cc9275
Updated email in HandmadeMath.h
2020-07-09 18:22:22 -07:00
Ben Visness
ddb9971e71
Update README
1.11.1
2020-07-09 08:51:53 -05:00
GsxCasper
341a376a17
Added HMM_PREFIX macro to function implementations ( #120 )
2020-07-08 16:32:29 -05:00
Ben Visness
c825fe48cf
Update version and release notes
1.11.0
2020-04-06 10:02:16 -05:00
Ben Visness
15bef820db
Add ability to customize HMM_ prefix ( #114 )
...
* Add prefix macro and use it everywhere
* Add lightweight test for prefix
* Add a little doc blurb
2020-04-06 09:57:10 -05:00
Ben Visness
fe32f081f2
Suppress float equality warnings ( #113 )
...
* Add a macro to help with deprecations
* Suppress warnings about float equality
2020-04-06 09:55:40 -05:00
Zak Strange
785f19d4a7
Removed use of stdint.h ( #110 )
2020-01-11 17:13:09 -08:00
Ben Visness
a9b08b9147
Run tests on Linux, macOS, and Windows ( #105 )
...
* Try running tests on all three operating systems
* Try adding an MSVC build
* Make tests work on Windows
* Try reconfiguring Travis for this
* Maybe it's because we're in git bash
* Try explicitly doing something else for travis
* Remove a part I think is unnecessary
* Run the test EXEs as they compile
2019-07-31 17:22:33 -05:00
Ben Visness
f376f2a2a7
Add test coverage macros ( #104 )
...
* Add coverage features and add it, laboriously, to everything
* Fix easy tests
* Add tests for != operators
* Clean up test framework a little
* Add documentation of coverage macros
* Fix tests for mat4 to quaternion
* Slightly improve formatting of coverage output
* Trailing whitespace must die
2019-07-31 16:43:56 -05:00
Ben Visness
78e6feea82
Add HMM_Mat4ToQuaternion ( #103 )
...
* Add mat4 to quaternion method
* Capitalize variables
2019-07-31 16:38:03 -05:00
Zak Strange
21aa828a08
Fixed issue related to unsigned/signed-ness of HMM_Power ( #102 )
...
* Fixed issue related to unsigned/signed-ness of HMM_Power
* Fixes missing braces around initializer warning with -Weverything with GCC.
2019-07-17 14:48:59 -07:00
Ben Visness
93e56be543
Use vertical instead of horizontal FOV in HMM_Perspective ( #101 )
...
* Use vertical instead of horizontal FOV
* Update readme
* Fix tests
1.10.0
2019-07-10 11:29:51 -05:00
Ben Visness
45c91702a9
Added SSE support for Quaternion operations ( #97 ) ( #98 )
...
* Added SSE support for Quaternion operations (#97 )
* Added SSE support for Quaternion operations
O2
| Function | SSE | NO SSE |
====================================================
| Inverse | 163 (0.89s) | 165 (1.89s) |
| NLerp | 330 (1.70s) | 330 (1.75s) |
| Normalize | 169 (1.03s) | 169 (1.06s) |
| Dot | 22 (1.15s) | 23 (1.14s) |
| DivF | 23 (0.72s) | 23 (0.82s) |
| MulF | 22 (0.75s) | 22 (0.79s) |
| Mul | 24 (1.14s) | 23 (1.24s) |
| Sub | 23 (1.17s) | 37 (1.20s) |
| Add | 23 (1.20s) | 24 (1.19s) |
O0
| Function | SSE | NO SSE |
====================================================
| Inverse | 394 (1.62s) | 430 (3.05s) |
| NLerp | 694 (2.71s) | 1035(4.81s) |
| Normalize | 374 (1.58s) | 412 (2.95s) |
| Dot | 81 (1.83s) | 23 (2.50s) |
| DivF | 61 (1.12s) | 25 (2.37s) |
| MulF | 58 (1.09s) | 23 (2.31s) |
| Mul | 94 (1.97s) | 42 (2.88s) |
| Sub | 75 (1.83s) | 23 (2.82s) |
| Add | 75 (1.81s) | 23 (2.81s) |
* Fixed quaternion multiplication
Old quaternion multiplication had a bug, this is a different approach.
* Added release notes and version for 1.9.0
1.9.0
2019-03-11 13:12:48 -05:00
Ben Visness
f7c8e1f7d1
Add fast vector normalization ( #94 )
...
* Add fast normalization routines
* Update readme and remove version history from main file
* Update version at top of file
1.8.0
2018-11-29 22:02:41 -08:00
Ben Visness
5ca1d58b36
Improve grammar/spelling
v1.7.1
2018-11-29 13:21:05 -06:00
Zak Strange
5bf727dbd5
Removed copy in operator[] ( #93 )
...
* Removed copy in operator[]
* Updated version info
2018-11-29 09:32:12 -08:00
Ben Visness
295f6c476f
Rename Rows to Columns on hmm_mat4 ( #91 )
v1.7.0
2018-08-17 11:02:44 -07:00
Ben Visness
e095aefaf7
Bump file version
v1.6.0
2018-06-10 15:32:12 -04:00
Ben Visness
4e2f47db55
Add array subscript operators for all types ( #88 )
...
* Add array subscript operators for all types
* Taking the parameter for the operator[] as a reference. This should allow it to be inlined
* I guess you can't do that.
* Update version and readme
2018-06-10 15:26:48 -04:00
Ben Visness
bee0e0c569
WIP: Properly initialize all elements of LookAt matrix ( #84 )
...
* Properly initialize all elements of LookAt matrix
* Update version and readme
* Add a test for LookAt
good enough
v1.5.1
2018-06-03 18:42:09 -05:00
Ben Visness
f8b3a84cec
WIP: Make tests quite a lot nicer ( #81 )
...
Make tests quite a lot nicer
2018-02-18 14:19:31 -06:00
IJzerbaard
77914405c3
Use SSE in HMM_MultiplyMat4ByVec4 ( #77 )
...
Implements HMM_MultiplyMat4ByVec4 with HMM_LinearCombineSSE if SSE is
enabled.
2018-02-11 13:24:39 -06:00
IJzerbaard
eb5c659148
Improve HMM_MultiplyMat4 ( #76 )
...
Remove all transposes, (AT BT)T = BA
2018-02-10 17:59:07 -06:00
Ben Visness
52fd5cceb4
Update README.md
2017-10-31 19:28:59 -05:00
Ben Visness
8e67482295
Update README.md
2017-10-31 11:07:07 -05:00
Ben Visness
c508ce342b
Create LICENSE
2017-10-31 11:04:56 -05:00
Ben Visness
250c38e845
Update README.md
2017-10-31 11:01:31 -05:00
Ben Visness
4981d5ab89
Convert everything to new inline scheme ( #57 ) ( #72 )
...
* Convert everything to new inline scheme
* Add both extern and inline for some SSE vs. non-SSE functions
Some functions had nice, compact SSE implementations but bulky non-SSE
implementations, so this commit inlines just the implementations that make
sense. Also updated documentation.
* Convert HINLINE and HEXTERN to HMM_INLINE and HMM_EXTERN
v1.5.0
2017-10-31 10:16:36 -05:00
Ben Visness
5f173e0176
Update CONTRIBUTING.md
2017-10-31 10:09:27 -05:00
Ben Visness
575fcb767d
Update README.md
2017-10-31 10:06:22 -05:00
strangezak
a08262b2d9
Removed old instructions
2017-10-14 19:34:51 -07:00
strangezak
53bc939d8e
Updated email
2017-10-04 09:40:31 -07:00
Ben Visness
7eb4ae1846
Update README for 1.4.0
2017-10-02 11:17:11 -05:00
StrangeZak
48bd24b05e
Updated docs
2017-10-01 10:32:53 -07:00
Zak Strange
064baeb5b9
V1.4 - SSE upgrades and bug fixes ( #70 )
...
* Fixed bug when using handmademath in C mode
* SSEd vec4 operations
* Fixed hmm_vec4 for non-sse builds. Added SSE option for HMM_Vec4 to load in one instruction
* Whoops. We were loading in the wrong order
* SSEd more things
* SSEd more functions
* Minor fixups
* SSE'd hmm_vec4 initialization
* Removed zeroing
* Vector normalization should be zero'd
* Removed old comments
2017-09-30 14:38:28 -07:00
Ben Visness
afd726ab0b
Automatically include C++ definitions ( #67 )
2017-08-02 10:12:06 -05:00
strangezak
98fffbd7cc
Forgot to update version
v1.2.0
2017-07-16 21:29:26 -07:00
Ben Visness
efd9f2f4b7
Matrix Multiply SSE ( #65 )
...
* SSEd HMM_MultiplyMat4 and HMM_Transpose. And added HMM_LinearCombineSSE
* Maybe Travis doesn't support SSE?
* Fix compile process so the SSE option is consistently defined
* Fix link error
* Documentation
* Added function prototype for operator ==
* Added != operator for hmm_vec2, hmm_vec3, hmm_vec4
* Add C versions of equality checks
Also made the C++ tests actually run...😳
* Update documentation
2017-07-16 21:19:34 -07:00
Ben Visness
c8ada18370
Update README for 1.1.5
v1.1.5
2017-06-21 09:31:20 -05:00
Zak Strange
70ac2b7e5b
1.1.5 ( #64 )
...
* Added Width, and Height to hmm_vec2, and fixed SqrtF when compiling without the CRT
* Syntax error
* Test all the vector access methods
2017-06-14 20:49:44 -07:00
Ben Visness
924ee43923
Update history to include @DanielGibson's SSE fixes
2017-06-13 11:39:42 -05:00
Ben Visness
440b885d59
Update version to 1.1.4
v1.1.4
2017-06-13 11:26:46 -05:00
Emil Lauridsen
98f535aeec
Handle zero-vector normalization. ( #63 )
...
* Handle zero-vector normalization.
When normalizing a vectors, we have to check whether vector length is
not zero, to avoid dividing by zero when normalizing zero-vectors.
* Test for normalization of zero vectors
2017-06-13 11:21:55 -05:00