Skip to content

Commit 95ce9e7

Browse files
committed
Convert (n-1) to F instead subtracting F::one()
This makes the implementation clearer and avoids the issue that `One::one()` is defined to be the multiplicative identity, not necessarily `F::from(1)`.
1 parent e6a0e93 commit 95ce9e7

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

src/geomspace.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ where
8585
let log_a = a.abs().ln();
8686
let log_b = b.abs().ln();
8787
let step = if n > 1 {
88-
let nf: F = F::from(n).unwrap();
89-
(log_b - log_a) / (nf - F::one())
88+
let num_steps = F::from(n - 1).expect("Converting number of steps to `A` must not fail.");
89+
(log_b - log_a) / num_steps
9090
} else {
9191
F::zero()
9292
};

src/linspace.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ pub fn linspace<F>(a: F, b: F, n: usize) -> Linspace<F>
7373
where F: Float
7474
{
7575
let step = if n > 1 {
76-
let nf: F = F::from(n).unwrap();
77-
(b - a) / (nf - F::one())
76+
let num_steps = F::from(n - 1).expect("Converting number of steps to `A` must not fail.");
77+
(b - a) / num_steps
7878
} else {
7979
F::zero()
8080
};

src/logspace.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ where
7878
F: Float,
7979
{
8080
let step = if n > 1 {
81-
let nf: F = F::from(n).unwrap();
82-
(b - a) / (nf - F::one())
81+
let num_steps = F::from(n - 1).expect("Converting number of steps to `A` must not fail.");
82+
(b - a) / num_steps
8383
} else {
8484
F::zero()
8585
};

0 commit comments

Comments
 (0)