From 14362461346b296833143d2d19e2fbbcce3abb01 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Tue, 9 May 2017 19:37:09 -0400 Subject: - Fixed some tests for lux/math/logic/fuzzy. - Removed a forgotten #seed in a test for lux/math/simple. - Added Hash. --- stdlib/source/lux/data/number.lux | 4 +++ stdlib/test/test/lux/math/logic/fuzzy.lux | 44 ++++++++++++++++--------------- stdlib/test/test/lux/math/simple.lux | 3 +-- 3 files changed, 28 insertions(+), 23 deletions(-) (limited to 'stdlib') diff --git a/stdlib/source/lux/data/number.lux b/stdlib/source/lux/data/number.lux index 9f2c01d0e..418e84a14 100644 --- a/stdlib/source/lux/data/number.lux +++ b/stdlib/source/lux/data/number.lux @@ -181,6 +181,10 @@ (def: (hash value) (_lux_proc ["real" "hash"] [value]))) +(struct: #export _ (Hash Deg) + (def: eq Eq) + (def: hash (|>. (:! Nat)))) + ## [Values & Syntax] (do-template [ ] [(struct: #export (Codec Text Nat) diff --git a/stdlib/test/test/lux/math/logic/fuzzy.lux b/stdlib/test/test/lux/math/logic/fuzzy.lux index 284fffa4b..73530f35b 100644 --- a/stdlib/test/test/lux/math/logic/fuzzy.lux +++ b/stdlib/test/test/lux/math/logic/fuzzy.lux @@ -12,12 +12,15 @@ continuous)) lux/test) -(do-template [ ] +(do-template [ ] [(test: (format "[" "] " "Triangles") - #seed +1981055421923629192 - [x - y - z + [values (R;set +3 ) + #let [[x y z] (case (set;to-list values) + (^ (list x y z)) + [x y z] + + _ + (undefined))] sample #let [[bottom middle top] (case (list;sort (list x y z)) (^ (list bottom middle top)) @@ -45,17 +48,19 @@ ( top sample)))) ))] - ["Real" R;real &;r.triangle r.< r.<= r.> r.>=] - ["Deg" R;deg &;d.triangle d.< d.<= d.> d.>=] + ["Real" number;Hash R;real &;r.triangle r.< r.<= r.> r.>=] + ["Deg" number;Hash R;deg &;d.triangle d.< d.<= d.> d.>=] ) -(do-template [ ] +(do-template [ ] [(test: (format "[" "] " "Trapezoids") - #seed +8418494856347027801 - [w - x - y - z + [values (R;set +4 ) + #let [[w x y z] (case (set;to-list values) + (^ (list w x y z)) + [w x y z] + + _ + (undefined))] sample #let [[bottom middle-bottom middle-top top] (case (list;sort (list w x y z)) (^ (list bottom middle-bottom middle-top top)) @@ -89,19 +94,16 @@ ( top sample)))) ))] - ["Real" R;real &;r.trapezoid r.< r.<= r.> r.>=] - ["Deg" R;deg &;d.trapezoid d.< d.<= d.> d.>=] + ["Real" number;Hash R;real &;r.trapezoid r.< r.<= r.> r.>=] + ["Deg" number;Hash R;deg &;d.trapezoid d.< d.<= d.> d.>=] ) (test: "Gaussian" - #seed +1000679812414 - [deviation R;real + [deviation (|> R;real (R;filter (r.> 0.0))) center R;real #let [gaussian (&;gaussian deviation center)]] - ($_ seq - (assert "The center value will always have maximum membership." - (d.= ~true (&;membership center gaussian))) - )) + (assert "The center value will always have maximum membership." + (d.= ~true (&;membership center gaussian)))) (def: gen-triangle (R;Random (&;Fuzzy Real)) diff --git a/stdlib/test/test/lux/math/simple.lux b/stdlib/test/test/lux/math/simple.lux index 9aec7f1fc..67d8bf8d0 100644 --- a/stdlib/test/test/lux/math/simple.lux +++ b/stdlib/test/test/lux/math/simple.lux @@ -14,7 +14,6 @@ (do-template [ <=> <+> <-> <*> <%> <0>] [(test: (format " arihtmetic") - #seed +1786783812616344121 [x y (|> (R;filter (. not (<=> <0>))))] ($_ seq @@ -33,7 +32,7 @@ ["Nat" R;nat n.= n.+ n.- n.* n./ n.% +0] ["Int" R;int i.= i.+ i.- i.* i./ i.% 0] ["Real" R;real r.= r.+ r.- r.* r./ r.% 0.0] - ["Deg" R;deg d.= d.+ d.- d.* d./ d.% .0] + ["Deg" R;deg d.= d.+ d.- d.* d./ d.% .0] ) (do-template [ ] -- cgit v1.2.3