rdb
1281875cbc
linmath: Fix degenerate case in decompose_matrix
...
Regression in 583f7366db
2025-01-29 17:05:16 +01:00
rdb
c060b2f3fe
linmath: Fix vector printing issues with big values on emscripten
2024-11-03 23:59:23 +01:00
rdb
7560a1edd1
Merge branch 'release/1.10.x'
2024-10-30 13:42:21 +01:00
rdb
64454b1c9f
Replace direct uses of ob_type, which gives problems in nogil build
2024-10-30 13:17:11 +01:00
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