Auto-generated maths library for C and C++ based on HLSL/Cg
Bot releases are hidden (Show)
Published by dangmoody about 2 years ago
float4_quat_slerp()
and double4_quat_slerp()
which gave incorrect outputs.
Published by dangmoody over 2 years ago
inverse()
, which had slipped through the cracks in testing.Published by dangmoody over 2 years ago
*_unary
has been renamed to *_not
because that's what it actually does.assert.h
was not included if using default HLML_ASSERT
macro.Published by dangmoody over 2 years ago
Re-added negate
function and operator after it was accidentally removed during the re-write between v1 and v2 (oops).
Published by dangmoody over 2 years ago
any()
and all()
functions, which do the same thing as in HLSL.quat_to_rotation_matrix
function.float4x4::operator*
no longer performs matrix multiplication, but rather component-wise multiplication.
mul
(or float4x4_mul
in the C API, for example).lookat
has been renamed to look_at
.caddv
-> operator+
). Use those instead.translate()
, rotate()
, and scale()
are now only for 4x4 matrices.float2_sse_t
) have been removed due to causing aliasing.__m128
.
Published by dangmoody almost 4 years ago
extern "C" { ... }
wrappers for each header file in the C API.This marks the last of the updates for release that this library will get for a while (apart from other small changes that are deemed necessary and fixing any bugs that get found). The next main release will contain changes to the SIMD API, but that's a ways off yet. Expect any other releases until then to be 1.1.N and so on (unless something major changes, but that's unlikely).
Published by dangmoody over 4 years ago
EDIT: Re-uploaded this release with a fixed .zip file. Thanks @xwize =)
A small usage update as well just some minor fixes:
HLML_IMPLEMENTATION
define as it's simply not needed for an all-inlined library. Now you only need to simply include the main header to use HLML.quaternion_to_matrix
for quaternion_rotate_matrix
.Published by dangmoody almost 5 years ago
A whole load of new features are included in this release:
hlml/c/hlml.h
or hlml/cpp/hlml.h
. In one source file you must also define HLML_IMPLEMENTATION
so that all the function bodies can be defined (this works the same as the STB libraries).#define
s instead of actual constants (this is for compatibility with the C API).hlml_operators_vector.h
and hlml_operators_matrix.h
can be removed from the codebase if desired.As always I will be listening to any and all feedback that comes through and if any issues come up please add them to the issue tracker and I will fix them ASAP.
Published by dangmoody over 5 years ago
This release comes with only some minor additions and updates to the maths library itself, this version adds:
The generator has also been re-written to not use the STL at all. The generator now uses a linear allocator and string builders to write out strings. The time taken to generate the maths library code has now more than halved; from ~270ms to ~120ms.
Published by dangmoody over 5 years ago
Published by dangmoody over 5 years ago
length
and lengthsqr
will now return float
.dot
now returns the appropriate type for each vector (except uint
vectors, where it returns an int).Thanks to @Flave229 for reporting problems. =)
Published by dangmoody over 5 years ago
Fixes a series of warnings for Clang and GCC. SIMD still not included in this release, but it's on its way.
EDIT (21/04/2019): Hotfix to remove broken isinf
/isnan
functions. I never knew they were part of C99, those should now be used.
Published by dangmoody over 5 years ago
This is currently an experimental release. That may change once I get some more people to test it. This release is also without SIMD support (that's in progress and coming later).
Special thanks to those who have done some ginea-pig testing for me.