1#![cfg_attr(not(test), no_std)]
2#![doc = include_str!("docs/lib.md")]
3#![allow(unknown_lints)]
4#![allow(clippy::needless_return)]
6#![allow(clippy::deref_addrof)]
9#![allow(clippy::manual_is_multiple_of)]
12
13#[allow(unused_imports)]
15use crate::prelude::rstsr_funcs::*;
16#[allow(unused_imports)]
17use crate::prelude::rstsr_structs::*;
18#[allow(unused_imports)]
19use crate::prelude::rstsr_traits::*;
20
21pub mod prelude;
22pub mod prelude_dev;
23
24pub mod storage;
25pub mod tensor;
26pub mod tensorbase;
27pub use tensorbase::{
28 Tensor, TensorAny, TensorArc, TensorBase, TensorCow, TensorMut, TensorRef, TensorReference, TensorView,
29 TensorViewMut,
30};
31
32pub mod format;
33
34#[cfg(feature = "rayon")]
35pub mod feature_rayon;
36
37#[cfg(feature = "faer")]
38pub mod device_faer;
39
40pub mod device_cpu_serial;
41
42mod dev_utilities;
43
44#[cfg(feature = "faer_as_default")]
45pub type DeviceCpu = device_faer::device::DeviceFaer;
46
47#[cfg(not(feature = "faer_as_default"))]
48pub type DeviceCpu = device_cpu_serial::DeviceCpuSerial;
49
50pub mod array_api_standard {
51 #![doc = include_str!("docs/array_api_standard.md")]
52 #![allow(unused_imports)]
53
54 use crate::prelude::*;
55 use crate::prelude_dev::Indexer;
56 use core::ops::*;
57 use num::complex::ComplexFloat;
58 use num::{pow::Pow, Complex, Float, Integer, Num, Signed};
59 use rstsr_dtype_traits::*;
60 use rt::*;
61}
62
63pub mod api_specification {
64 #![doc = include_str!("docs/api_specification.md")]
65 #![allow(unused_imports)]
66
67 use crate::prelude::*;
68 use rt::*;
69 extern crate alloc;
70 use crate as rstsr_core;
71}