@@ -56,7 +56,7 @@ const XYZ: &'static [[f64; 3]] = &[
56
56
[ 204.19951828 , 211.79115169 , 588.01504694 ] ,
57
57
[ -0.64593653 , -0.71965944 , -1.20325077 ] ,
58
58
] ;
59
- const LAB : & ' static [ [ f64 ; 3 ] ] = & [
59
+ const CIELAB : & ' static [ [ f64 ; 3 ] ] = & [
60
60
[ 0.00000000 , 0.00000000 , 0.00000000 ] ,
61
61
[ 53.23288179 , 80.11117774 , 67.22370367 ] ,
62
62
[ 87.73703347 , -86.18285500 , 83.18783466 ] ,
@@ -314,20 +314,20 @@ fn xyz_backwards() {
314
314
315
315
#[ test]
316
316
fn lab_forwards ( ) {
317
- func_cmp ( XYZ , LAB , xyz_to_cielab)
317
+ func_cmp ( XYZ , CIELAB , xyz_to_cielab)
318
318
}
319
319
#[ test]
320
320
fn lab_backwards ( ) {
321
- func_cmp ( LAB , XYZ , cielab_to_xyz)
321
+ func_cmp ( CIELAB , XYZ , cielab_to_xyz)
322
322
}
323
323
324
324
#[ test]
325
325
fn lch_forwards ( ) {
326
- func_cmp ( LAB , LCH , lab_to_lch)
326
+ func_cmp ( CIELAB , LCH , lab_to_lch)
327
327
}
328
328
#[ test]
329
329
fn lch_backwards ( ) {
330
- func_cmp ( LCH , LAB , lch_to_lab)
330
+ func_cmp ( LCH , CIELAB , lch_to_lab)
331
331
}
332
332
333
333
#[ test]
@@ -349,14 +349,27 @@ fn jzazbz_backwards() {
349
349
func_cmp ( JZAZBZ , XYZ , jzazbz_to_xyz)
350
350
}
351
351
352
- // ICtCp development tests.
353
- // Inversion test in absence of solid reference
354
352
#[ test]
355
- fn ictcp_inversion ( ) {
356
- let mut pixel = LRGB . to_owned ( ) ;
357
- pixel. iter_mut ( ) . for_each ( |p| _lrgb_to_ictcp ( p) ) ;
358
- pixel. iter_mut ( ) . for_each ( |p| _ictcp_to_lrgb ( p) ) ;
359
- pix_cmp ( & pixel, LRGB , 1e-3 , & [ ] ) ;
353
+ fn inversions ( ) {
354
+ let runs: & [ ( & [ [ f64 ; 3 ] ] , fn ( pixel : & mut [ f64 ; 3 ] ) , fn ( pixel : & mut [ f64 ; 3 ] ) , & str ) ] = & [
355
+ ( SRGB , srgb_to_hsv, hsv_to_srgb, "HSV" ) ,
356
+ ( SRGB , srgb_to_lrgb, lrgb_to_srgb, "LRGB" ) ,
357
+ ( LRGB , lrgb_to_xyz, xyz_to_lrgb, "XYZ" ) , // 1e-4
358
+ ( LRGB , _lrgb_to_ictcp, _ictcp_to_lrgb, "ICTCP" ) , // 1e-4
359
+ ( XYZ , xyz_to_cielab, cielab_to_xyz, "CIELAB" ) ,
360
+ ( XYZ , xyz_to_oklab, oklab_to_xyz, "OKLAB" ) , // 1e-3
361
+ ( XYZ , xyz_to_jzazbz, jzazbz_to_xyz, "JZAZBZ" ) , // 1e-4
362
+ ( CIELAB , lab_to_lch, lch_to_lab, "LCH" ) ,
363
+ ] ;
364
+ for ( pixel, fwd, bwd, label) in runs. iter ( ) {
365
+ let mut owned = pixel. to_vec ( ) ;
366
+ owned. iter_mut ( ) . for_each ( |p| {
367
+ fwd ( p) ;
368
+ bwd ( p) ;
369
+ } ) ;
370
+ println ! ( "TEST {} INVERSION" , label) ;
371
+ pix_cmp ( & owned, pixel, 1e-3 , & [ ] ) ;
372
+ }
360
373
}
361
374
// Disable reference tests for public commits
362
375
//
0 commit comments