From c9ec065fd55a9dce139ca14d6554d88e36329be2 Mon Sep 17 00:00:00 2001 From: Ben Visness Date: Tue, 23 Aug 2016 18:20:59 -0500 Subject: [PATCH] Add documentation for v0.5 --- HandmadeMath.h | 46 +++++++++++++++++++++++++++++----------------- README.md | 3 ++- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/HandmadeMath.h b/HandmadeMath.h index d041816..860bea6 100644 --- a/HandmadeMath.h +++ b/HandmadeMath.h @@ -1,9 +1,11 @@ /* - HandmadeMath.h v0.4 + HandmadeMath.h v0.5 This is a single header file with a bunch of useful functions for basic game math operations. + ========================================================================== + You MUST #define HANDMADE_MATH_IMPLEMENTATION @@ -15,12 +17,13 @@ #include "HandmadeMath.h" All other files should just #include "HandmadeMath.h" without the #define. + ========================================================================== - For overloaded, and operator overloaded versions of the base C functions. - You MUST + For overloaded and operator overloaded versions of the base C functions, + you MUST - #define HANDMADE_MATH_CPP_MODE + #define HANDMADE_MATH_CPP_MODE in EXACTLY one C or C++ file that includes this header, BEFORE the include, like this: @@ -30,9 +33,10 @@ #include "HandmadeMath.h" All other files should just #include "HandmadeMath.h" without the #define. + ========================================================================== - To disable SSE intrinsics, for You MUST + To disable SSE intrinsics, you MUST #define HANDMADE_MATH_NO_SSE @@ -48,6 +52,7 @@ #define HANDMADE_MATH_IMPLEMENTATION #define HANDMADE_MATH_NO_SSE + #include "HandmadeMath.h" ========================================================================== @@ -69,23 +74,23 @@ To Disable the CRT, you MUST - #define HMM_SINF MySinF - #define HMM_COSF MyCosF - #define HMM_TANF MyTanF + #define HMM_SINF MySinF + #define HMM_COSF MyCosF + #define HMM_TANF MyTanF Provide your own implementations of SinF, CosF, and TanF in EXACTLY one C or C++ file that includes this header, BEFORE the include, like this: - #define HMM_SINF MySinF - #define HMM_COSF MyCosF - #define HMM_TANF MyTanF - #define HANDMADE_MATH_IMPLEMENTATION - #define HANDMADE_MATH_CPP_MODE - #include "HandmadeMath.h" + #define HMM_SINF MySinF + #define HMM_COSF MyCosF + #define HMM_TANF MyTanF + #define HANDMADE_MATH_IMPLEMENTATION + #define HANDMADE_MATH_CPP_MODE + #include "HandmadeMath.h" - If you do not define these HandmadeMath.h will use version the version - of these function that are provided by the CRT. + If you do not define all three of these, HandmadeMath.h will use the + versions of these functions that are provided by the CRT. ========================================================================== @@ -100,11 +105,18 @@ (*) Disabled warning 4201 on MSVC as it is legal is C11 (*) Removed the f at the end of HMM_PI to get 64bit precision 0.3 - (*) Added +=,-=, *=, /= for hmm_vec2, hmm_vec3, hmm_vec4 + (*) Added +=, -=, *=, /= for hmm_vec2, hmm_vec3, hmm_vec4 0.4 (*) SSE Optimized HMM_SqrtF (*) SSE Optimized HMM_RSqrtF (*) Removed CRT + 0.5 + (*) Added scalar multiplication and division for vectors + and matrices + (*) Added matrix subtraction and += for hmm_mat4 + (*) Reconciled all headers and implementations + (*) Tidied up, and filled in a few missing operators + LICENSE diff --git a/README.md b/README.md index 2af618c..2427b3f 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ Single-file public domain game math library for C/C++ Version | Changes | ----------------|----------------| +**0.5** | Added scalar operations on vectors and matrices, added += and -= for hmm_mat4, reconciled headers and implementations, tidied up in general | **0.4** | Added SSE Optimized HMM_SqrtF, HMM_RSqrtF, Removed use of CRT | **0.3** | Added +=,-=, *=, /= for hmm_vec2, hmm_vec3, hmm_vec4 | **0.2b** | Disabled warning C4201 on MSVC, Added 64bit percision on HMM_PI | @@ -21,6 +22,6 @@ _ID: In Development_ This library is in the public domain. You can do whatever you want with them. -**Where can i contact you to ask quesitons ?** +**Where can I contact you to ask questions?** You can email me at: Zak@Handmade.Network \ No newline at end of file