]> gitweb.factorcode.org Git - factor.git/commitdiff
colors.distances: add some tests, refactor locals a little bit.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 13 Jul 2014 15:50:54 +0000 (08:50 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 13 Jul 2014 15:50:54 +0000 (08:50 -0700)
extra/colors/distances/distances-tests.factor [new file with mode: 0644]
extra/colors/distances/distances.factor

diff --git a/extra/colors/distances/distances-tests.factor b/extra/colors/distances/distances-tests.factor
new file mode 100644 (file)
index 0000000..f73bfb2
--- /dev/null
@@ -0,0 +1,18 @@
+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
index 91b1e20b5f278c823d3f43fd413029a7aa603807..8cb71ce10bff42e46de66090c3e870321e913153 100644 (file)
@@ -94,13 +94,17 @@ PRIVATE>
     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: