rdb
583f7366db
linmath: Significant perf optimizations for decompose_matrix
2024-10-19 13:17:19 +02:00
rdb
f5401b19fa
Merge branch 'release/1.10.x'
2024-09-16 13:54:22 +02:00
rdb
9e87af9dd7
linmath: Fix compiler warning with gcc 14
2024-08-14 19:09:20 +02:00
rdb
ad57762e9f
Merge branch 'release/1.10.x'
2024-08-07 22:34:08 +02:00
rdb
8c8cbeea98
linmath: For repr, use as much precision as needed for roundtrip
...
Will use as few digits as is necessary to ensure that round-tripping the same number with pstrtod will result in the same vector. This prevents eg. 3.3 formatting as 3.29999995 while still ensuring that two floats that are not equal (other than nan) are guaranteed to have a different string representation.
Uses a hacky pftoa function that can be abandoned as soon as we adopt C++17, which has to_chars that does what we need
Fixes #1671
2024-08-07 17:24:11 +02:00
Maxwell Dreytser
d8775fa01e
Fix unguarded python-specific headers.
2024-02-02 19:45:28 +01:00
rdb
73360393df
Switch use of Py_INCREF to new Py_NewRef function
...
This is more idiomatic, simplifies the code, makes it easier to port to eg. HPy later on, and makes it easier to use the limited ABI (where it can be optimized to a tail call) later on
A polyfill is provided for compatibility with Python versions 3.8 and 3.9
2024-01-29 17:57:53 +01:00
WMOkiishi
ea84547805
general: Mark many constructors as `explicit`
...
Closes #1514
Fixes #1431
2023-08-02 08:18:43 +02:00
rdb
71ee57bc92
linmath: Unroll LVecBase4 less-than operator implementation
2023-07-26 19:33:43 +02:00
rdb
92bdaed4d4
linmath: Fix regression with LVecBase4 in #1453 / 87b5aa9
...
LVecBase4 was no longer trivially copyable as of that change
2023-02-20 19:02:54 +01:00
WMOkiishi
87b5aa9d1f
Replace "unaligned" linear algebra classes with simple typedefs
2023-02-06 18:35:18 +01:00
Frang
275fe32079
create PY_EXTENSION and friends ( #1415 )
2023-01-04 20:54:53 +01:00
Cary Sandvig
3247903d7b
add more HAVE_PYTHON
...
Also add some more #endif comments.
2022-12-23 13:38:46 -05:00
rdb
cee1de7338
general: Get rid of some coerce constructors where they make no sense
2022-10-20 21:00:05 +02:00
rdb
61ff260ee3
Merge branch 'release/1.10.x'
2022-10-20 20:59:45 +02:00
rdb
0b7c694f10
linmath: Make mat.rows[n] and mat.cols[n] assignable to
2022-10-19 16:04:57 +02:00
rdb
ecf4d19e83
Merge branch 'release/1.10.x'
2022-05-10 16:12:36 +02:00
rdb
fbea0056f5
general: Allow compiling Panda headers on Windows without NOMINMAX
2022-05-10 15:58:33 +02:00
rdb
46c1b887ea
Fix heap alignment with SSE2 on 32-bit Windows by inheriting MemoryBase
...
Fixes #510
2022-03-02 09:57:44 +01:00
rdb
e4013226e1
general: Remove vestigial typedef.h file
2021-12-12 18:37:49 +01:00
rdb
78fb565f2b
Merge branch 'release/1.10.x'
2021-11-28 16:14:18 +01:00
rdb
8f9d23ff29
linmath: Remove redundant sin() calculation in LQuaternion
2021-11-28 13:58:13 +01:00
rdb
a4ea476cce
linmath: Implement read-only buffer protocol support for vectors
...
Fixes #1194
2021-10-27 10:53:35 +02:00
rdb
f27e9b2a86
linmath: Add __rmul__ operator for left scalar multiplication
...
Fixes #1048
2021-07-05 14:16:55 +02:00
rdb
2386e80448
linmath: Backport support for floor division to 1.10
...
Backport of 8944737844
(Also fixes return type of `__pow__` to always be derived class)
2021-06-01 10:45:56 +02:00
rdb
4e0e945279
linmath: Backport round(), floor(), ceil() support for vectors
...
See #821
2021-06-01 10:23:58 +02:00
rdb
8944737844
linmath: Support floor division for vector types
...
Also fix __pow__ so that it returns the derived type, not the base type
2021-02-22 20:01:30 +01:00
rdb
8afd0e526f
Merge branch 'release/1.10.x'
2021-02-15 11:38:45 +01:00
rdb
59ab828098
linmath: Fix typo in Mat4 isub docstring
...
Fixes panda3d/panda3d-docs#96
2021-02-11 03:28:34 +01:00
rdb
a1b2d5b8dc
Make use of new function call methods in Python 3.9
2020-12-12 17:28:21 +01:00
rdb
66ac3be604
Merge branch 'release/1.10.x' into master
2020-09-12 23:23:58 +02:00
rdb
3daf1ae1b1
general: Assorted API reference fixes
2020-09-09 18:03:49 +02:00
rdb
d799a09002
cleanup: Remove support for EOL versions of Python
...
Fixes #905
2020-04-26 20:07:56 +02:00
rdb
b272af8bbf
Merge branch 'cmake'
2020-01-22 11:20:51 +01:00
Leandro (Cerberus1746) Benedet Garcia
12f8363284
linmath: support round(), floor(), ceil() in vector classes
...
Closes #821
2019-12-30 03:06:00 +01:00
Sam Edwards
5961cc2ee0
Merge branch 'master' into cmake
2019-10-05 15:00:49 -06:00
rdb
2c42cfcc1a
Merge branch 'release/1.10.x'
2019-09-10 16:34:11 +02:00
rdb
05ed918d63
general: mark deprecated methods with the @deprecated tag
...
This makes them easier to find and, if necessary, automatically generate deprecation warnings for.
2019-09-08 09:50:28 +02:00
Sam Edwards
5fa4af9189
CMake: Rely on GNUInstallDirs to specify install paths
...
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards
1a654cba04
CMake: Record the location that headers are installed
...
This populates INTERFACE_INCLUDE_DIRECTORIES on the targets
after they're installed.
2019-08-30 22:58:18 -06:00
Sam Edwards
19ed9f6b47
Merge branch 'master' into cmake
2019-08-24 18:07:12 -06:00
rdb
a40228202b
Merge branch 'release/1.10.x'
2019-08-18 22:34:23 +02:00
rdb
818ed57894
linmath: work around obscure MSVC optimization bug with Eigen
2019-08-18 18:07:00 +02:00
rdb
8932eec43b
linmath: use default ctor and assignment op for matrix classes
2019-07-15 20:37:18 +02:00
Sam Edwards
039f5af34e
Merge branch 'master' into cmake
2019-06-03 23:12:23 -06:00
rdb
cc4d5259cc
linmath: fix mat4.get_col3() and mat4.get_row3() when using Eigen
2019-05-02 19:40:23 +02:00
Sam Edwards
6097d34ead
CMake: Neatly format everything for readability and consistency
2019-04-14 22:37:18 -06:00
Sam Edwards
99fee1a64d
CMake: Assign COMPONENT and EXPORT to all targets
2018-12-06 17:48:44 -07:00
Sam Edwards
8df53698f4
CMake: Add missing .h/.I files that weren't getting installed
2018-11-28 16:13:05 -07:00
Sam Edwards
1520d712d4
CMake: Remove target_use_packages
...
Instead, let's use a PKG::PKGNAME interface library, which simplifies
the linking and also allows us to use imported libraries from
find_package in the future.
2018-09-21 10:17:05 -06:00