Commit Graph

36 Commits

Author SHA1 Message Date
Ben Visness
295f6c476f Rename Rows to Columns on hmm_mat4 (#91) 2018-08-17 11:02:44 -07: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
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
Ben Visness
afd726ab0b Automatically include C++ definitions (#67) 2017-08-02 10:12:06 -05: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
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
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
Ben Visness
364569abe9 Fix wrong name for square root function 2017-06-09 10:43:11 -05:00
Ben Visness
a9972e71da Test both with and without SSE 2017-06-09 10:37:38 -05:00
Ben Visness
cf606db217 Test in both C and C++ (#58)
* Switch to custom unit testing that is compatible with C

* Remove Google Test framework

* Attempt to fix missing math functions

* Link against C math library

* Try forcing c99 again

* Include -lm at compile time

* Move -lm argument to the end

* Update README and gitignore
2017-04-07 08:47:54 -05:00
Ben Visness
ad3039186d Initial quaternion implementation (#49)
* Various changes, and started work on Quaternions

* Worked on Quaternions (#46)

* Working on quaternions

* Finished operations, onto slerp

* Working on slerp

* Finished slerp implementation, next is NLerp

* Cleaned HandmadeMath.cpp

* Removed gbmath includes

* fixed minor issue.

* Fixed function names

* Fixed DotQuat call

* Did a style check

* Double Style Check

* Triple Style Check

* Fixed all the bullshit I did wrong

* Fixed more bs

* Added new functions

* Finished function implements

* Fixed some compile errors

* Fixed UTF-8 Error

* Added in most operator overrides

* Changed instances of HMM_PI to HMM_Pi32

* Fixed a warning

* Fixed a major issue with quaternion to matrix function where rotations about the y axis caused strange warping.

* Revert "Fixed a warning"

This reverts commit 043decab0d.

* Revert repo

* Fixed Quaternion to Matrix function.

* Fixed some prevalent issues, and now pulls triganometric funcitions from the std instead of implementing them.

* Fixed tab formatting, added in reverse multiplication function with Quaternions

* Removed error suppression cleanup, as it was causing more warnings. . .

* Added documentation

* Changed ATanf2 to ATan2f

* Fixed some typos and added additional documentation (#48)

* Add tests for quaternions

* Remove (very wrong) quaternion division in favor of multiplying by inverse

* Put back newlines at ends of files

* Make tweaks for PR

* Add assigning arithmetic operators for quaternions

* Add NLerp

Just to make Jonathan Blow happy: http://number-none.com/product/Understanding%20Slerp,%20Then%20Not%20Using%20It/

* Rearrange parameters of HMM_Slerp

It now matches HMM_Lerp and HMM_NLerp.

* Update README.md
2017-01-04 16:25:12 -08:00
Ben Visness
eac00c2aa1 Fix tests for vector ops
Tests for vector ops now test all three kinds of vectors (where
applicable), and test both the C and C++ versions of the functions.
2016-09-06 08:54:35 -05:00
Zak Strange
64830b6bbd 0.7 initial commit 2016-09-05 21:04:30 -07:00
Matt Mascarenhas
7e42f3d7c8 Allow HMM_PowerF to try and compute negative bases 2016-08-31 03:16:13 +01:00
Matt Mascarenhas
fcc3052ed4 Make the PowerF() tests more forgiving 2016-08-31 02:37:37 +01:00
Matt Mascarenhas
5e15bfb6b7 Insert the missing closing brace 2016-08-31 02:28:10 +01:00
Matt Mascarenhas
bb03df3fc6 Merge remote-tracking branch 'upstream/master' 2016-08-31 02:16:51 +01:00
Matt Mascarenhas
5b0e0969c2 Add tests for PowerF() 2016-08-31 01:57:20 +01:00
Zak Strange
59db096948 Merge pull request #42 from StrangeZak/lerp
Add header and test for HMM_Lerp
2016-08-30 20:32:07 -04:00
Ben Visness
2d729a3b34 Add header and test for HMM_Lerp 2016-08-30 19:19:04 -05:00
Ben Visness
2ea471b3ce Add HMM_Transpose 2016-08-30 18:53:53 -05:00
Ben Visness
722c48ddf8 Add back tests for HMM_Power and HMM_Clamp 2016-08-30 16:11:43 -05:00
Ben Visness
c7c801c51a Test overloaded versions of HMM_Dot 2016-08-30 15:56:15 -05:00
Zak Strange
fdef0ae0e1 Added missing tests to hmm_test.cpp 2016-08-30 13:43:17 -07:00
Zak Strange
c2dd9f19a7 Fixed more issues in Unit test 2016-08-30 13:33:15 -07:00
Zak Strange
c147a8bd53 Updated Unit Test 2016-08-30 13:30:52 -07:00
Ben Visness
60cde5116e Correct rotation test to be right-handed 2016-08-28 23:11:40 -05:00
Ben Visness
3b0c8befbb Add tests for projection
(Zak should review)
2016-08-28 23:07:59 -05:00
Ben Visness
7f7fc4e0d6 Add tests for transformations 2016-08-28 01:44:05 -05:00
Ben Visness
71dc1f4dee Scope things, and add tests for += and other operators 2016-08-28 01:22:12 -05:00
Ben Visness
7ca351ea16 Add tests for all arithmetic operations
Finding some bugs...
2016-08-28 00:24:10 -05:00
Ben Visness
d3eed13e85 Add tests for vector operations 2016-08-25 23:26:48 -05:00
Ben Visness
e07ee7357f Add tests for scalar math operations 2016-08-25 22:29:19 -05:00
Ben Visness
425fd9c11a Add remaining initialization tests 2016-08-25 22:29:03 -05:00
Ben Visness
603dcc2f4a Add Google Test setup and one unit test 2016-08-25 16:04:42 -05:00