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