Skip to content

Commit 6ff8cfc

Browse files
committed
Resolve more instances of needless_doctest_main exposed by building with more features enabled.
1 parent 4fcb8ac commit 6ff8cfc

File tree

3 files changed

+101
-115
lines changed

3 files changed

+101
-115
lines changed

src/doc/ndarray_for_numpy_users/coord_transform.rs

Lines changed: 63 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -51,40 +51,38 @@
5151
//! ```
5252
//! use ndarray::prelude::*;
5353
//!
54-
//! fn main() {
55-
//! let nelems = 4;
56-
//! let bunge = Array::ones((3, nelems));
57-
//!
58-
//! let s1 = bunge.slice(s![0, ..]).mapv(f64::sin);
59-
//! let c1 = bunge.slice(s![0, ..]).mapv(f64::cos);
60-
//! let s2 = bunge.slice(s![1, ..]).mapv(f64::sin);
61-
//! let c2 = bunge.slice(s![1, ..]).mapv(f64::cos);
62-
//! let s3 = bunge.slice(s![2, ..]).mapv(f64::sin);
63-
//! let c3 = bunge.slice(s![2, ..]).mapv(f64::cos);
64-
//!
65-
//! let mut rmat = Array::zeros((3, 3, nelems).f());
66-
//! for i in 0..nelems {
67-
//! rmat[[0, 0, i]] = c1[i] * c3[i] - s1[i] * s3[i] * c2[i];
68-
//! rmat[[0, 1, i]] = -c1[i] * s3[i] - s1[i] * c2[i] * c3[i];
69-
//! rmat[[0, 2, i]] = s1[i] * s2[i];
70-
//!
71-
//! rmat[[1, 0, i]] = s1[i] * c3[i] + c1[i] * c2[i] * s3[i];
72-
//! rmat[[1, 1, i]] = -s1[i] * s3[i] + c1[i] * c2[i] * c3[i];
73-
//! rmat[[1, 2, i]] = -c1[i] * s2[i];
74-
//!
75-
//! rmat[[2, 0, i]] = s2[i] * s3[i];
76-
//! rmat[[2, 1, i]] = s2[i] * c3[i];
77-
//! rmat[[2, 2, i]] = c2[i];
78-
//! }
79-
//!
80-
//! let eye2d = Array::eye(3);
81-
//!
82-
//! let mut rotated = Array::zeros((3, 3, nelems).f());
83-
//! for i in 0..nelems {
84-
//! rotated
85-
//! .slice_mut(s![.., .., i])
86-
//! .assign(&rmat.slice(s![.., .., i]).dot(&eye2d));
87-
//! }
54+
//! let nelems = 4;
55+
//! let bunge = Array::ones((3, nelems));
56+
//!
57+
//! let s1 = bunge.slice(s![0, ..]).mapv(f64::sin);
58+
//! let c1 = bunge.slice(s![0, ..]).mapv(f64::cos);
59+
//! let s2 = bunge.slice(s![1, ..]).mapv(f64::sin);
60+
//! let c2 = bunge.slice(s![1, ..]).mapv(f64::cos);
61+
//! let s3 = bunge.slice(s![2, ..]).mapv(f64::sin);
62+
//! let c3 = bunge.slice(s![2, ..]).mapv(f64::cos);
63+
//!
64+
//! let mut rmat = Array::zeros((3, 3, nelems).f());
65+
//! for i in 0..nelems {
66+
//! rmat[[0, 0, i]] = c1[i] * c3[i] - s1[i] * s3[i] * c2[i];
67+
//! rmat[[0, 1, i]] = -c1[i] * s3[i] - s1[i] * c2[i] * c3[i];
68+
//! rmat[[0, 2, i]] = s1[i] * s2[i];
69+
//!
70+
//! rmat[[1, 0, i]] = s1[i] * c3[i] + c1[i] * c2[i] * s3[i];
71+
//! rmat[[1, 1, i]] = -s1[i] * s3[i] + c1[i] * c2[i] * c3[i];
72+
//! rmat[[1, 2, i]] = -c1[i] * s2[i];
73+
//!
74+
//! rmat[[2, 0, i]] = s2[i] * s3[i];
75+
//! rmat[[2, 1, i]] = s2[i] * c3[i];
76+
//! rmat[[2, 2, i]] = c2[i];
77+
//! }
78+
//!
79+
//! let eye2d = Array::eye(3);
80+
//!
81+
//! let mut rotated = Array::zeros((3, 3, nelems).f());
82+
//! for i in 0..nelems {
83+
//! rotated
84+
//! .slice_mut(s![.., .., i])
85+
//! .assign(&rmat.slice(s![.., .., i]).dot(&eye2d));
8886
//! }
8987
//! ```
9088
//!
@@ -96,37 +94,35 @@
9694
//! ```
9795
//! use ndarray::prelude::*;
9896
//!
99-
//! fn main() {
100-
//! let nelems = 4;
101-
//! let bunge = Array2::<f64>::ones((3, nelems));
102-
//!
103-
//! let mut rmat = Array::zeros((3, 3, nelems).f());
104-
//! azip!((mut rmat in rmat.axis_iter_mut(Axis(2)), bunge in bunge.axis_iter(Axis(1))) {
105-
//! let s1 = bunge[0].sin();
106-
//! let c1 = bunge[0].cos();
107-
//! let s2 = bunge[1].sin();
108-
//! let c2 = bunge[1].cos();
109-
//! let s3 = bunge[2].sin();
110-
//! let c3 = bunge[2].cos();
111-
//!
112-
//! rmat[[0, 0]] = c1 * c3 - s1 * s3 * c2;
113-
//! rmat[[0, 1]] = -c1 * s3 - s1 * c2 * c3;
114-
//! rmat[[0, 2]] = s1 * s2;
115-
//!
116-
//! rmat[[1, 0]] = s1 * c3 + c1 * c2 * s3;
117-
//! rmat[[1, 1]] = -s1 * s3 + c1 * c2 * c3;
118-
//! rmat[[1, 2]] = -c1 * s2;
119-
//!
120-
//! rmat[[2, 0]] = s2 * s3;
121-
//! rmat[[2, 1]] = s2 * c3;
122-
//! rmat[[2, 2]] = c2;
123-
//! });
124-
//!
125-
//! let eye2d = Array2::<f64>::eye(3);
126-
//!
127-
//! let mut rotated = Array3::<f64>::zeros((3, 3, nelems).f());
128-
//! azip!((mut rotated in rotated.axis_iter_mut(Axis(2)), rmat in rmat.axis_iter(Axis(2))) {
129-
//! rotated.assign(&rmat.dot(&eye2d));
130-
//! });
131-
//! }
97+
//! let nelems = 4;
98+
//! let bunge = Array2::<f64>::ones((3, nelems));
99+
//!
100+
//! let mut rmat = Array::zeros((3, 3, nelems).f());
101+
//! azip!((mut rmat in rmat.axis_iter_mut(Axis(2)), bunge in bunge.axis_iter(Axis(1))) {
102+
//! let s1 = bunge[0].sin();
103+
//! let c1 = bunge[0].cos();
104+
//! let s2 = bunge[1].sin();
105+
//! let c2 = bunge[1].cos();
106+
//! let s3 = bunge[2].sin();
107+
//! let c3 = bunge[2].cos();
108+
//!
109+
//! rmat[[0, 0]] = c1 * c3 - s1 * s3 * c2;
110+
//! rmat[[0, 1]] = -c1 * s3 - s1 * c2 * c3;
111+
//! rmat[[0, 2]] = s1 * s2;
112+
//!
113+
//! rmat[[1, 0]] = s1 * c3 + c1 * c2 * s3;
114+
//! rmat[[1, 1]] = -s1 * s3 + c1 * c2 * c3;
115+
//! rmat[[1, 2]] = -c1 * s2;
116+
//!
117+
//! rmat[[2, 0]] = s2 * s3;
118+
//! rmat[[2, 1]] = s2 * c3;
119+
//! rmat[[2, 2]] = c2;
120+
//! });
121+
//!
122+
//! let eye2d = Array2::<f64>::eye(3);
123+
//!
124+
//! let mut rotated = Array3::<f64>::zeros((3, 3, nelems).f());
125+
//! azip!((mut rotated in rotated.axis_iter_mut(Axis(2)), rmat in rmat.axis_iter(Axis(2))) {
126+
//! rotated.assign(&rmat.dot(&eye2d));
127+
//! });
132128
//! ```

src/parallel/mod.rs

Lines changed: 31 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,14 @@
4646
//! use ndarray::Array2;
4747
//! use ndarray::parallel::prelude::*;
4848
//!
49-
//! fn main() {
50-
//! let mut a = Array2::<f64>::zeros((128, 128));
49+
//! let mut a = Array2::<f64>::zeros((128, 128));
5150
//!
52-
//! // Parallel versions of regular array methods
53-
//! a.par_map_inplace(|x| *x = x.exp());
54-
//! a.par_mapv_inplace(f64::exp);
51+
//! // Parallel versions of regular array methods
52+
//! a.par_map_inplace(|x| *x = x.exp());
53+
//! a.par_mapv_inplace(f64::exp);
5554
//!
56-
//! // You can also use the parallel iterator directly
57-
//! a.par_iter_mut().for_each(|x| *x = x.exp());
58-
//! }
55+
//! // You can also use the parallel iterator directly
56+
//! a.par_iter_mut().for_each(|x| *x = x.exp());
5957
//! ```
6058
//!
6159
//! ## Axis iterators
@@ -67,16 +65,14 @@
6765
//! use ndarray::Axis;
6866
//! use ndarray::parallel::prelude::*;
6967
//!
70-
//! fn main() {
71-
//! let a = Array::linspace(0., 63., 64).into_shape((4, 16)).unwrap();
72-
//! let mut sums = Vec::new();
73-
//! a.axis_iter(Axis(0))
74-
//! .into_par_iter()
75-
//! .map(|row| row.sum())
76-
//! .collect_into_vec(&mut sums);
68+
//! let a = Array::linspace(0., 63., 64).into_shape((4, 16)).unwrap();
69+
//! let mut sums = Vec::new();
70+
//! a.axis_iter(Axis(0))
71+
//! .into_par_iter()
72+
//! .map(|row| row.sum())
73+
//! .collect_into_vec(&mut sums);
7774
//!
78-
//! assert_eq!(sums, [120., 376., 632., 888.]);
79-
//! }
75+
//! assert_eq!(sums, [120., 376., 632., 888.]);
8076
//! ```
8177
//!
8278
//! ## Axis chunks iterators
@@ -88,16 +84,14 @@
8884
//! use ndarray::Axis;
8985
//! use ndarray::parallel::prelude::*;
9086
//!
91-
//! fn main() {
92-
//! let a = Array::linspace(0., 63., 64).into_shape((4, 16)).unwrap();
93-
//! let mut shapes = Vec::new();
94-
//! a.axis_chunks_iter(Axis(0), 3)
95-
//! .into_par_iter()
96-
//! .map(|chunk| chunk.shape().to_owned())
97-
//! .collect_into_vec(&mut shapes);
87+
//! let a = Array::linspace(0., 63., 64).into_shape((4, 16)).unwrap();
88+
//! let mut shapes = Vec::new();
89+
//! a.axis_chunks_iter(Axis(0), 3)
90+
//! .into_par_iter()
91+
//! .map(|chunk| chunk.shape().to_owned())
92+
//! .collect_into_vec(&mut shapes);
9893
//!
99-
//! assert_eq!(shapes, [vec![3, 16], vec![1, 16]]);
100-
//! }
94+
//! assert_eq!(shapes, [vec![3, 16], vec![1, 16]]);
10195
//! ```
10296
//!
10397
//! ## Zip
@@ -110,19 +104,17 @@
110104
//!
111105
//! type Array3f64 = Array3<f64>;
112106
//!
113-
//! fn main() {
114-
//! const N: usize = 128;
115-
//! let a = Array3f64::from_elem((N, N, N), 1.);
116-
//! let b = Array3f64::from_elem(a.dim(), 2.);
117-
//! let mut c = Array3f64::zeros(a.dim());
118-
//!
119-
//! Zip::from(&mut c)
120-
//! .and(&a)
121-
//! .and(&b)
122-
//! .par_for_each(|c, &a, &b| {
123-
//! *c += a - b;
124-
//! });
125-
//! }
107+
//! const N: usize = 128;
108+
//! let a = Array3f64::from_elem((N, N, N), 1.);
109+
//! let b = Array3f64::from_elem(a.dim(), 2.);
110+
//! let mut c = Array3f64::zeros(a.dim());
111+
//!
112+
//! Zip::from(&mut c)
113+
//! .and(&a)
114+
//! .and(&b)
115+
//! .par_for_each(|c, &a, &b| {
116+
//! *c += a - b;
117+
//! });
126118
//! ```
127119
128120
#[allow(unused_imports)] // used by rustdoc links

src/parallel/zipmacro.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,16 @@
3939
///
4040
/// type M = Array2<f32>;
4141
///
42-
/// fn main() {
43-
/// let mut a = M::zeros((16, 16));
44-
/// let b = M::from_elem(a.dim(), 1.);
45-
/// let c = M::from_elem(a.dim(), 2.);
42+
/// let mut a = M::zeros((16, 16));
43+
/// let b = M::from_elem(a.dim(), 1.);
44+
/// let c = M::from_elem(a.dim(), 2.);
4645
///
47-
/// // Compute a simple ternary operation:
48-
/// // elementwise addition of b and c, stored in a
46+
/// // Compute a simple ternary operation:
47+
/// // elementwise addition of b and c, stored in a
4948
///
50-
/// par_azip!((a in &mut a, &b in &b, &c in &c) *a = b + c);
49+
/// par_azip!((a in &mut a, &b in &b, &c in &c) *a = b + c);
5150
///
52-
/// assert_eq!(a, &b + &c);
53-
/// }
51+
/// assert_eq!(a, &b + &c);
5452
/// ```
5553
macro_rules! par_azip {
5654
($($t:tt)*) => {

0 commit comments

Comments
 (0)