@@ -2,24 +2,24 @@ use colcon::{convert_space_sliced, unweave, Space};
2
2
3
3
fn main ( ) {
4
4
const STEPS : usize = 100 ;
5
- let stepsf = STEPS as f32 ;
5
+ let stepsf = STEPS as f64 ;
6
6
7
7
let srgb = ( 0 ..=STEPS )
8
8
. map ( move |a| {
9
9
( 0 ..=STEPS )
10
10
. map ( move |b| {
11
11
( 0 ..=STEPS )
12
- . map ( move |c| [ a as f32 / stepsf, b as f32 / stepsf, c as f32 / stepsf] )
13
- . collect :: < Vec < [ f32 ; 3 ] > > ( )
12
+ . map ( move |c| [ a as f64 / stepsf, b as f64 / stepsf, c as f64 / stepsf] )
13
+ . collect :: < Vec < [ f64 ; 3 ] > > ( )
14
14
} )
15
- . collect :: < Vec < Vec < [ f32 ; 3 ] > > > ( )
15
+ . collect :: < Vec < Vec < [ f64 ; 3 ] > > > ( )
16
16
} )
17
- . collect :: < Vec < Vec < Vec < [ f32 ; 3 ] > > > > ( )
17
+ . collect :: < Vec < Vec < Vec < [ f64 ; 3 ] > > > > ( )
18
18
. into_iter ( )
19
19
. flatten ( )
20
20
. flatten ( )
21
21
. flatten ( )
22
- . collect :: < Vec < f32 > > ( )
22
+ . collect :: < Vec < f64 > > ( )
23
23
. into_boxed_slice ( ) ;
24
24
25
25
assert_eq ! ( srgb. len( ) % 3 , 0 ) ;
@@ -35,7 +35,7 @@ fn main() {
35
35
let mut colors = srgb. clone ( ) ;
36
36
convert_space_sliced :: < _ , 3 > ( Space :: SRGB , * space, & mut colors) ;
37
37
38
- for ( nc, mut channel) in unweave :: < 3 > ( & colors) . into_iter ( ) . enumerate ( ) {
38
+ for ( nc, mut channel) in unweave :: < _ , 3 > ( & colors) . into_iter ( ) . enumerate ( ) {
39
39
// just unwrap since SDR shouldn't nan
40
40
channel. sort_unstable_by ( |a, b| a. partial_cmp ( b) . unwrap ( ) ) ;
41
41
@@ -47,10 +47,10 @@ fn main() {
47
47
// disable hue and enforce 0 chroma floor
48
48
// otherwise JZCZHZ and CIELCH (C) are something like 1e-16
49
49
if Space :: UCS_POLAR . contains ( space) {
50
- quantiles. iter_mut ( ) . for_each ( |q| q[ 2 ] = f32 :: INFINITY ) ;
50
+ quantiles. iter_mut ( ) . for_each ( |q| q[ 2 ] = f64 :: INFINITY ) ;
51
51
quantiles[ 0 ] [ 1 ] = 0.0 ;
52
52
} else if space == & Space :: HSV {
53
- quantiles. iter_mut ( ) . for_each ( |q| q[ 0 ] = f32 :: INFINITY )
53
+ quantiles. iter_mut ( ) . for_each ( |q| q[ 0 ] = f64 :: INFINITY )
54
54
}
55
55
56
56
// enforce 0 lightness floor.
0 commit comments