Luke Street
6547f76752
Remove error-causing constexprs
2022-05-31 20:17:23 -04: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
Phillip Stephens
bb9b4c83af
Fix incorrect division operator
2021-05-23 11:52:00 -07:00
Luke Street
b3806c03a5
Fixes for MSVC arch detection & SIMD compilation
2021-02-15 21:03:44 -05:00
Luke Street
9ea070c2d7
CVector2f: Remove unnecessary constexpr
2021-01-06 20:33:36 -05:00
Luke Street
566db657d9
Add NEON support & more constexpr
2020-10-20 02:25:44 -04:00
Luke Street
58c8a902ac
CVector3f/CVector2f: Fix isZero
2020-09-16 00:41:47 -04:00
Lioncash
5520001117
General: Mark file-scope constexpr variables as inline
...
Allows the compiler to unify all usages of these constants down to a
single address if they're ODR used, rather than creating an individual
copy within each translation unit.
Unfortunately all file-scope variables don't have inline implied for
them by default (only for static class member variables).
Shrinks the size of the emitted binary a little bit.
2020-04-19 03:22:13 -04: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
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
18afb32077
Use reciprocal-multiplication for vector-scalar division
2018-11-02 22:44:52 -10:00
Jack Andersen
20603da60d
Convert to pragma once
2018-10-06 17:39:40 -10:00
Jack Andersen
17a501f339
Remove unneeded standard math functions
2018-06-02 20:10:58 -10:00
Jack Andersen
527b503bd7
Make vectors and quaternions implicitly convertible to athena vectors
2018-02-23 20:16:08 -10:00
Jack Andersen
5282ae6308
Additional CVector2f operators
2018-02-14 18:35:47 -10:00
Jack Andersen
692dc1adfb
Add AVX intrinsics for CVector3d
2017-12-18 17:02:59 -10:00
Jack Andersen
9ab271cd04
Make vector float constructors `explicit`
2017-12-17 16:54:05 -10:00
Jack Andersen
50f47d6455
Remove SSE4 runtime checks
2017-12-15 15:32:06 -10:00
Jack Andersen
bad3038132
Add operator[] asserts
2017-11-23 22:21:18 -10:00
Jack Andersen
8603353cf7
Added skZero for other vector types
2017-03-17 13:30:14 -10:00
Jack Andersen
a7545579cc
Add some static athena readers
2017-01-21 15:36:46 -10:00
Jack Andersen
7aa5ccf0c7
Invert logic on CAABox::intersects
2016-08-13 09:35:41 -10:00
Jack Andersen
b15e66a710
Bulk-run of clang-format
2016-07-08 08:42:42 -10:00
Phillip Stephens
ac98ebf428
Various fixes and implementations
2016-04-26 03:36:44 -07: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