Commit Graph

46 Commits

Author SHA1 Message Date
Luke Street 6547f76752 Remove error-causing constexprs 2022-05-31 20:17:23 -04:00
Phillip Stephens 11606d3676
Fix constexpr in CQuaternion 2022-03-12 09:49:30 -08:00
Phillip Stephens fc33e18b4a
constexpr fixes 2022-03-12 09:03:27 -08:00
Phillip Stephens e9c0fe7a6e
Remove athena types 2022-02-27 20:46:10 -08:00
Lioncash 81f9b4a4ee General: Mark functions as nodiscard where applicable
Given this aims to be a general purpose math library for use in various
other libraries applications for axiodl, we can annotate functions that
return by value or reference with [[nodiscard]] where it's very obvious
that not making use of the return value is a bug.

This allows the compiler to diagnose and emit warnings for these API
misuses at compile-time, preventing silent bugs from occurring.

Any cases where not using the return value is desirable may still be
casted to void in order to silence warnings.
2020-03-04 03:07:54 -05:00
Lioncash f6854d8e82 General: Mark member functions as const where applicable
These don't modify internal member state, so they can be const.
2019-09-01 21:53:57 -04:00
Lioncash dafc850598 zeus: Amend inclusions
Trims out unused headers and ensures the necessary includes are
included.
2019-09-01 04:30:53 -04:00
Jack Andersen 48073c783b Move some quaternion functions in-header 2019-06-14 14:38:56 -10:00
Jack Andersen c81eb93b6d Better CMake dependency handling 2019-06-11 16:04:52 -10:00
Jack Andersen 92733a3bb7 Fix some compilation warnings 2019-04-06 19:01:22 -10:00
Jack Andersen b854e76dc9 constexpr refactor 2019-02-23 21:15:32 -10:00
Jack Andersen e172225845 New code style refactor 2018-12-07 19:23:50 -10:00
Jack Andersen e8dfecbb6e SIMD refactor 2018-12-07 15:16:50 -10:00
Jack Andersen 20603da60d Convert to pragma once 2018-10-06 17:39:40 -10:00
Jack Andersen 527b503bd7 Make vectors and quaternions implicitly convertible to athena vectors 2018-02-23 20:16:08 -10:00
Jack Andersen 50f47d6455 Remove SSE4 runtime checks 2017-12-15 15:32:06 -10:00
Jack Andersen b438e30060 CQuaternion fixes 2017-12-15 14:16:40 -10:00
Jack Andersen 9a22f0c5ed Rewrite Matrix to Quaternion conversion 2017-11-29 15:22:14 -10:00
Jack Andersen bad3038132 Add operator[] asserts 2017-11-23 22:21:18 -10:00
Jack Andersen de6dc86596 Fix CQuaternion::transform and CNUQuaternion 2017-11-11 19:13:05 -10:00
Jack Andersen 3d377124c1 Implement CQuaternion::angleFrom() 2017-10-28 20:21:23 -10:00
Jack Andersen 0e792b213a Minor API tweaks 2017-10-14 19:24:17 -10:00
Jack Andersen 13949b249e Additional quaternion functions 2017-07-13 19:12:21 -10:00
Jack Andersen a8764732dc Various matrix and quaternion imps 2017-07-09 18:55:12 -10:00
cylgom 92290663a9 Squashed commit of the following:
commit 7ee57f731293285cf6506549e651a338670fb953
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 21:57:13 2017 +0200

    fixed commits indentation

commit 5b948329ba66d64c569b4067b50be5c9593d316b
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:39:45 2017 +0200

    moved CQuaternion ctor out of athena-dependant compiler directives

commit 7d9bb58ba28b5fc4d43e1ff87a843dc4ae42d048
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:30:43 2017 +0200

    added required headers in CTransform.hpp

commit da0d9ef76b23eaf233a5c3a58a6c1219b80d7c71
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:28:46 2017 +0200

    moved CVector3f ctor out of athena-dependant compiler directives

commit e08199c749dfd1762afd4b75f2f871bd5a86907b
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:12:43 2017 +0200

    fixed const inline arrays

commit 7084b6af2107ec390011f82a14424b8f0142f354
Author: cylgom <cylgom@gmail.com>
Date:   Thu Jun 8 20:11:09 2017 +0200

    fixed empty flags replacement in CMakeLists

fixed unreachable ctors and missing includes
2017-06-08 22:01:41 +02:00
Jack Andersen 21b0eb15c8 Add CQuaternion::slerpShort 2017-05-05 19:21:14 -10:00
Jack Andersen c50a319a39 Add CEulerAngles representation 2017-03-19 19:06:53 -10:00
Jack Andersen 69627f4bf3 Make vector constants class-scope 2017-02-11 17:48:21 -10:00
Phillip Stephens e7a72d02b1 Add CAABox::booleanIntersection 2017-01-20 21:57:34 -08:00
Phillip Stephens 0a7c192dd5 CQuaternion::lookAt imp 2016-09-16 15:20:12 -07:00
Phillip Stephens d03f1157dd Helper functions for CTransform and CQuaternion 2016-09-13 22:12:25 -07:00
Jack Andersen 0e491fc8f5 Remove 'far' too annoying name collision 2016-09-10 15:23:44 -10:00
Phillip Stephens 8ccc52d3b1 CRelAngle division ops 2016-09-01 13:17:33 -07:00
Phillip Stephens 1bba8594d5 Proper CRelAngle implementation 2016-09-01 12:38:16 -07:00
Phillip Stephens fb91979596 Add CMatrix constructor for CQuaternion, close_enough helper, and CTransform constness fix 2016-08-31 21:08:46 -07:00
Phillip Stephens 5c650d3a48 Add CNUQuaternion 2016-08-30 17:32:28 -07:00
Jack Andersen 81afa635ef Add CQuaternion::transform 2016-08-21 10:37:58 -10:00
Jack Andersen b15e66a710 Bulk-run of clang-format 2016-07-08 08:42:42 -10:00
Jack Andersen cfc5d55419 Const correctness fixes 2016-04-15 17:23:54 -10:00
Jack Andersen eb2968304b More stable Matrix->Quat constructor 2016-04-08 14:00:48 -10:00
Jack Andersen 5aae3cdbc6 Merge branch 'master' of https://github.com/AxioDL/zeus 2016-04-07 17:36:21 -10:00
Jack Andersen c16f25db09 Add matrix to quaternion constructor 2016-04-07 17:35:16 -10:00
Jack Andersen 4dea46aa65 Fix CQuaternion subscript bug 2016-04-07 16:39:36 -10:00
Jack Andersen baaca3136b WXYZ quaternion layout 2016-04-06 17:39:24 -10:00
Jack Andersen 33c357ecc6 ZE_ATHENA_TYPES readers are now explicit-endian 2016-03-13 14:57:31 -10:00
Jack Andersen a76d43d5df Humungous refactor 2016-03-04 13:03:26 -10:00