Commit Graph

280 Commits

Author SHA1 Message Date
Andreas Borgen Longva
eb228faa2b
Improved stack! implementation, tests (#1375)
* Add macro for concatenating matrices

* Replace DimUnify with DimEq::representative

* Add some simple cat macro output generation tests

* Fix formatting in cat macro code

* Add random prefix to cat macro output

* Add simple quote_spanned for cat macro

* Use `generic_view_mut` in cat macro

* Fix clippy lints in cat macro

* Clean up documentation for cat macro

* Remove identity literal from cat macro

* Allow references in input to cat macro

* Rename cat macro to stack

* Add more stack macro tests

* Add comment to explain reason for prefix in stack! macro

* Refactor matrix!, stack! macros into separate modules

* Take all blocks by reference in stack! macro

* Make empty stack![] invocation well-defined

* Fix stack! macro incorrect reference to data

* More extensive tests for stack! macro

* Move nalgebra-macros tests to nalgebra tests

By testing matrix!, stack! macros etc. in nalgebra, we ensure that
these macros are used in the same way that users will be using them.

* Fix stack! code generation tests

* Add back nalgebra as dev-dependency of nalgebra-macros

* Fix accidental wrong matrix! macro references in docs

* Rewrite stack! documentation for clarity

* Formatting

* Skip formatting of macro, rustfmt messes it up

* Rewrite stack! impl for improved clarity, Span behavior

This improves error messages upon dimension mismatch, among other
things. I've also tried to make the implementation easier to understand,
adding some comments to help the reader understand the individual steps.

* Use SameNumberOfRows/Columns instead of DimEq in stack! macro

This gives more accurate compiler errors if matrix dimensions
are mismatched.

* Check that stack! panics at runtime for basic dimension mismatch

* Add suggested edge cases from initial PR to tests

* stack! impl: use fixed prefix everywhere

This ensures that the expected generated code in tests
is the actual generated code when used in the wild.

* nalgebra-macros: Remove clippy pedantic, fix clippy complaints

pedantic seems to be mostly intent on wasting the programmer's time

* Add stack! sanity tests for built-ins and Complex

* Fix formatting in test

* Improve readability of format_ident! calls in stack! impl

* fix trybuild tests

* chore: run tests with a specific rust version

* More trybuild fixes

---------

Co-authored-by: Birk Tjelmeland <git@birktj.no>
Co-authored-by: Sébastien Crozet <sebcrozet@dimforge.com>
2024-06-23 11:29:28 +02:00
Sébastien Crozet
292abfbaa0
chore: update to simba 0.9 (#1415) 2024-06-22 19:06:20 +02:00
Bruce Mitchener
f812694959
deps: Update to itertools 0.13 (#1398) 2024-06-22 18:50:08 +02:00
Bruce Mitchener
9712aebd1f
Support conversion for glam 0.28 (#1409) 2024-06-22 18:49:46 +02:00
Bruce Mitchener
28e993a4f5
Support conversion for glam 0.27 (#1390) 2024-06-12 10:58:39 +02:00
Joona Aalto
bbac38b2f5 Support Glam 0.25 type conversion 2024-01-27 21:11:47 +02:00
Benjamin Saunders
7866bcee5c Remove CUDA support relying on abandoned toolchain 2024-01-11 23:09:17 -08:00
zachs18
a01fa48e33
Forward std feature to some deps. (#1321) 2023-12-10 19:35:54 -08:00
Fabio Valentini
bad63b6423
Fix and clarify license in crate metadata and add missing license files 2023-10-24 18:33:53 +02:00
Sébastien Crozet
a6b3700473
Release v0.32.3 2023-07-09 12:06:38 +02:00
Sébastien Crozet
c63503de04
chore: remove explicit bytecheck dependency 2023-07-09 11:36:44 +02:00
Doug Roeper
06782da13e
Adds support for glam 024 2023-05-25 08:10:57 -04:00
Vasil Nikolov
6c241a3200 add features needed to run tests with only cargo test 2023-04-28 00:03:28 +03:00
Sébastien Crozet
4a5183ae59 Release v0.32.2 2023-03-07 10:13:14 +01:00
Marijn Suijten
24dab11711 Support conversion for glam 0.23 2023-03-07 09:50:11 +01:00
Sébastien Crozet
8e5e54d196 Bump version of nalgebra-macros 2023-01-14 17:55:56 +01:00
Sébastien Crozet
8aa34a952f Release v0.32.0 2023-01-14 17:04:22 +01:00
Sébastien Crozet
3a8c1bf81e Use rayon as the feature name instead of par-iter 2023-01-14 15:59:11 +01:00
geo-ant
997c707be9 upgrade rayon dependency 2023-01-14 12:08:47 +01:00
geo-ant
8d1f684e45 change feature name to par-iter and add doc example to par_column_iter_mut 2023-01-14 12:08:47 +01:00
geo-ant
97861c8a5e add examples in par_column_iter method 2023-01-14 12:08:47 +01:00
geo-ant
e9a5705e1a address review 2023-01-14 12:08:40 +01:00
geo-ant
701d260fa6 rayon parallel feature w/o nightly features on old compilers 2023-01-14 12:08:40 +01:00
geo-ant
6591f2819a make rayon feature imply std 2023-01-14 12:08:40 +01:00
geo-ant
85e7551c81 feature gate functionality 2023-01-14 12:08:40 +01:00
geo-ant
0fcd9dd702 revert some things and add poc for mut and immut iterators 2023-01-14 12:07:36 +01:00
Sébastien Crozet
e959f2eb9c Fix CheckBytes derives + drop Complex rkyv support for now 2023-01-13 09:58:41 +01:00
Sébastien Crozet
cce66c3abf Merge branch 'dev' into dev-zyanshep 2023-01-13 09:19:49 +01:00
Sébastien Crozet
0981f9c660 Release v0.31.4 2022-11-13 18:40:03 +01:00
devil-ira
8601c655de Support conversion for glam 0.22 2022-11-05 00:33:38 +01:00
Sébastien Crozet
1eb5cc2851 Release v0.31.3 2022-10-30 17:41:21 +01:00
Peng Guanwen
bc566d91bf Add test for rkyv 2022-10-13 12:22:45 +00:00
Sébastien Crozet
a752a4bbf5 Release v0.31.2 2022-10-09 22:03:03 +02:00
zyansheep
525bc63de2 use patch for num-complex & refactor 2022-08-15 18:47:00 -04:00
Sébastien Crozet
11ff2ed69b Release v0.31.1 2022-07-31 09:47:58 +02:00
devil-ira
1e31e6ba69 Add feature convert-glam021. 2022-07-23 17:39:59 +02:00
zyansheep
f66b690fe8 num-complex conflicting with simba why 2022-07-14 08:07:30 -04:00
zyansheep
9a98b0cf24 various implementations 2022-07-13 23:02:17 -04:00
zyansheep
a725faaf6a fix matrix impl 2022-07-13 14:32:46 -04:00
Sébastien Crozet
b656faa233 Release v0.31.0 2022-04-30 10:59:26 +02:00
zyansheep
ed41097d0c fix bytecheck feature in cargo.toml 2022-04-30 10:36:39 +02:00
zyansheep
1b6f2b83f7 add bytecheck for matrix 2022-04-30 10:36:39 +02:00
zyansheep
90f2603de4 upgrade rkyv to 0.7 2022-04-30 10:36:39 +02:00
Sébastien Crozet
c9bf6aa95f Fix warnings 2022-04-28 14:58:15 +02:00
Sébastien Crozet
d7117e228a Use cust_core instead of cust 2022-03-16 18:07:29 +01:00
Sébastien Crozet
6d89e2aca6 Update to cust 0.3 2022-03-11 17:17:40 +01:00
Ben Kimock
698e130c3b Remove abomonation support
Abomonation has numerous soundness problems which have been
well-documented in its issue tracker for over 2 years. Some of them
could be fixed, but some are fundamental to its design. If a user wants
super-fast ser/de, they should use rkyv.
2022-02-05 17:15:08 -05:00
Sébastien Crozet
6b1e14c8a2 Release v0.30.1 2022-01-09 14:37:25 +01:00
Sébastien Crozet
87a6f4965b Add support for conversion with glam 0.19 and 0.20 2022-01-09 13:43:45 +01:00
Sébastien Crozet
e8b9c40123 Release v0.30.0 2022-01-02 15:30:15 +01:00