| 1 // The main documentation is in the README. |
1 // The main documentation is in the README. |
| 2 #![doc = include_str!("../README.md")] |
2 // We need to uglify it in build.rs because rustdoc is stuck in the past. |
| |
3 #![doc = include_str!(concat!(env!("OUT_DIR"), "/README_uglified.md"))] |
| 3 |
4 |
| 4 // We use unicode. We would like to use much more of it than Rust allows. |
5 // We use unicode. We would like to use much more of it than Rust allows. |
| 5 // Live with it. Embrace it. |
6 // Live with it. Embrace it. |
| 6 #![allow(uncommon_codepoints)] |
7 #![allow(uncommon_codepoints)] |
| 7 #![allow(mixed_script_confusables)] |
8 #![allow(mixed_script_confusables)] |
| 8 #![allow(confusable_idents)] |
9 #![allow(confusable_idents)] |
| 9 // Linear operators may be writtten e.g. as `opA` for a resemblance |
10 // Linear operators may be written e.g. as `opA`, to keep the capital letters of mathematical |
| 10 // to mathematical convention. |
11 // convention while referring to the type (trait) of the operator as `A`. |
| 11 #![allow(non_snake_case)] |
12 #![allow(non_snake_case)] |
| 12 // We need the drain filter for inertial prune |
13 // We need the drain filter for inertial prune. |
| 13 #![feature(drain_filter)] |
14 #![feature(drain_filter)] |
| 14 |
15 |
| 15 use clap::Parser; |
16 use clap::Parser; |
| 16 use itertools::Itertools; |
17 use itertools::Itertools; |
| 17 use serde_json; |
18 use serde_json; |