Commit Graph

184 Commits

Author SHA1 Message Date
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
Ben Visness
09524f72ed Merge branch 'sse-testing'
# Conflicts:
#	HandmadeMath.h
2017-06-11 18:54:06 -05:00
Emil Lauridsen
be30046a5a C89 style comments (#62) 2017-06-11 10:32:46 -07:00
Daniel Gibson
ff4513ff33 Make it usable on non-SSE platforms (#60)
* at one place HANDMADE_NO_SSE instead of HANDMADE_MATH_NO_SSE was used
* introduce HANDMADE_MATH__USE_SSE for the SSE #ifdefs throughout code
  - use #ifdef HANDMADE_MATH_NO_SSE at only one place
* only use SSE (#define HANDMADE_MATH__USE_SSE) if the targetplatform
  actually supports it
  => users don't have to #define HANDMADE_MATH_NO_SSE on ARM etc
* at one place HMM_SqrtF instead of HMM_SquareRootF was used
2017-06-09 17:14:24 -07: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
v1.1.3
2017-04-07 08:47:54 -05:00
Ben Visness
67b84dece7 Fix invalid HMMDEF's in function definitions (#56)
* Fix invalid HMMDEF's in function definitions

* Update version number and readme
v1.1.2
2017-03-29 16:19:25 -07:00
Ben Visness
8e188c4b7c Update CONTRIBUTING.md 2017-03-21 18:14:57 -05:00
Ben Visness
36fbeaeac4 Create CONTRIBUTING.md (#54) 2017-03-21 10:49:56 -07:00
Ben Visness
666f7e3325 Restrict struct warning suppression to clang only (#50)
* Restrict struct warning suppression to clang only

* Update changelist

* Move gcc diagnostic pop inside header section
v1.1.1
2017-01-15 09:50:53 -08: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
v1.1
2017-01-04 16:25:12 -08:00
Zak Strange
c89c435e3a Fixed HMM_PowerF v1.0 2016-11-14 20:05:07 -07:00
Zak Strange
aed68cc894 Version 1.0 2016-11-02 14:27:13 -07:00
Zak Strange
fd61daed68 Merge pull request #45 from kevinmoran/master
Suppress GCC anonymous struct warning
2016-09-20 22:35:40 -04:00
Kevin Moran
bebbe211bc Suppress GCC anonymous struct warning 2016-09-21 09:23:07 +10:00
Zak Strange
6b8faf7be2 Merge pull request #44 from StrangeZak/0.7
0.7
2016-09-06 14:22:08 -04:00
Zak Strange
14f7d13cba Updated README.md 2016-09-06 11:22:35 -07: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
Zak Strange
50938e1adf Merge pull request #40 from miblodelcarpio/master
Introduce HMM_PowerF()
2016-08-30 23:52:48 -04: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
774630b7cf Add wrappers for expf and logf 2016-08-31 02:10:39 +01:00
Matt Mascarenhas
5b0e0969c2 Add tests for PowerF() 2016-08-31 01:57:20 +01:00
Matt Mascarenhas
24caf7e8dd Add header for HMM_PowerF() 2016-08-31 01:35:24 +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
Zak Strange
d6729c2253 Merge pull request #41 from StrangeZak/transpose-etc
Add HMM_Transpose
2016-08-30 20:31:56 -04:00
Ben Visness
2d729a3b34 Add header and test for HMM_Lerp 2016-08-30 19:19:04 -05:00
Ben Visness
5ddb0ed10d Tweak whitespace 2016-08-30 19:14:31 -05:00
Ben Visness
2ea471b3ce Add HMM_Transpose 2016-08-30 18:53:53 -05:00
Matt Mascarenhas
224d543d79 Introduce HMM_PowerF() 2016-08-31 00:44:14 +01:00
Zak Strange
90198604b8 Merge pull request #39 from StrangeZak/missing-tests
Add back tests for HMM_Power and HMM_Clamp
2016-08-30 17:14:18 -04:00
Ben Visness
722c48ddf8 Add back tests for HMM_Power and HMM_Clamp 2016-08-30 16:11:43 -05:00
Zak Strange
bcc93f635f Merge pull request #37 from StrangeZak/development
Fixed various issues
2016-08-30 17:05:37 -04:00