diff options
author | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
commit | a990de90fe41456a23e58bd087d2f107d321f3a1 (patch) | |
tree | 15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/crunchy/README.md | |
parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip |
Deleted vendor folder
Diffstat (limited to 'vendor/crunchy/README.md')
-rw-r--r-- | vendor/crunchy/README.md | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/vendor/crunchy/README.md b/vendor/crunchy/README.md deleted file mode 100644 index 9036450..0000000 --- a/vendor/crunchy/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Crunchy - -The crunchy unroller - deterministically unroll constant loops. For number -"crunching". - -The Rust optimizer will unroll constant loops that don't use the loop variable, -like this: - -```rust -for _ in 0..100 { - println!("Hello!"); -} -``` - -However, using the loop variable will cause it to never unroll the loop. This is -unfortunate because it means that you can't constant-fold the loop variable, and -if you end up stomping on the registers it will have to do a load for each -iteration. This crate ensures that your code is unrolled and const-folded. It -only works on literals, unfortunately, but there's a work-around: - -```rust -debug_assert_eq!(MY_CONSTANT, 100); -unroll! { - for i in 0..100 { - println!("Iteration {}", i); - } -} -``` - -This means that your tests will catch if you redefine the constant. - -To default maximum number of loops to unroll is `64`, but that can be easily increased using the cargo features: - -* `limit_128` -* `limit_256` -* `limit_512` -* `limit_1024` -* `limit_2048`
\ No newline at end of file |