--- /dev/null
+USING: colors combinators tools.test ;
+IN: colors.distances
+
+{
+ 0x1.05d584e1086dep6 ! 65.45851470579098
+ 0x1.37bbbd6552ee2p6 ! 77.93333967512766
+ 0x1.1c031c5c4748dp7 ! 142.0060757481591
+ 0x1.5aaed5f26115p6 ! 86.6707380172495
+} [
+ 50/255 100/255 200/255 1.0 <rgba>
+ 100/255 200/255 50/255 1.0 <rgba>
+ {
+ [ CIEDE2000 ]
+ [ CIE94 ]
+ [ CIE76 ]
+ [ CMC-l:c ]
+ } 2cleave
+] unit-test
color1 >laba :> lab1
color2 >laba :> lab2
+ lab1 lab2 [ l>> ] bi@ :> ( l1 l2 )
+ lab1 lab2 [ a>> ] bi@ :> ( a1 a2 )
+ lab1 lab2 [ b>> ] bi@ :> ( b1 b2 )
+
! Calculate the delta values for each channel
- lab1 lab2 [ l>> ] bi@ - :> dl
- lab1 lab2 [ a>> ] bi@ - :> da
- lab1 lab2 [ b>> ] bi@ - :> db
- lab1 [ a>> ] [ b>> ] bi [ sq ] bi@ + sqrt :> c1
- lab2 [ a>> ] [ b>> ] bi [ sq ] bi@ + sqrt :> c2
- c1 c2 - :> dc
+ l2 l1 - :> dl
+ a2 a1 - :> da
+ b2 b1 - :> db
+ a1 sq b1 sq + sqrt :> c1
+ a2 sq b2 sq + sqrt :> c2
+ c2 c1 - :> dc
da sq db sq + dc sq - sqrt :> dh
! graphics arts: