diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/test/lux/math/logic/fuzzy.lux | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/stdlib/source/test/lux/math/logic/fuzzy.lux b/stdlib/source/test/lux/math/logic/fuzzy.lux index 731ee6865..476a40964 100644 --- a/stdlib/source/test/lux/math/logic/fuzzy.lux +++ b/stdlib/source/test/lux/math/logic/fuzzy.lux @@ -23,10 +23,10 @@ (template [<name> <desc> <hash> <gen> <triangle> <lt> <lte> <gt> <gte>] [(def: <name> Test - (<| (_.context (%.name (name-of <triangle>))) + (<| (_.context (%.name (name_of <triangle>))) (do random.monad [values (random.set <hash> 3 <gen>) - #let [[x y z] (case (set.to-list values) + #let [[x y z] (case (set.to_list values) (^ (list x y z)) [x y z] @@ -56,40 +56,40 @@ (<gte> top sample)))) ))))] - [rev-triangles "Rev" r.hash random.rev /.triangle r.< r.<= r.> r.>=] + [rev_triangles "Rev" r.hash random.rev /.triangle r.< r.<= r.> r.>=] ) (template [<name> <desc> <hash> <gen> <trapezoid> <lt> <lte> <gt> <gte>] [(def: <name> Test - (<| (_.context (%.name (name-of <trapezoid>))) + (<| (_.context (%.name (name_of <trapezoid>))) (do random.monad [values (random.set <hash> 4 <gen>) - #let [[w x y z] (case (set.to-list values) + #let [[w x y z] (case (set.to_list values) (^ (list w x y z)) [w x y z] _ (undefined))] sample <gen> - #let [[bottom middle-bottom middle-top top] (case (list.sort <lt> (list w x y z)) - (^ (list bottom middle-bottom middle-top top)) - [bottom middle-bottom middle-top top] + #let [[bottom middle_bottom middle_top top] (case (list.sort <lt> (list w x y z)) + (^ (list bottom middle_bottom middle_top top)) + [bottom middle_bottom middle_top top] _ (undefined)) trapezoid (<trapezoid> w x y z)]] ($_ _.and (_.test "The middle values will always have maximum membership." - (and (r.= //.true (/.membership middle-bottom trapezoid)) - (r.= //.true (/.membership middle-top trapezoid)))) + (and (r.= //.true (/.membership middle_bottom trapezoid)) + (r.= //.true (/.membership middle_top trapezoid)))) (_.test "Boundary values will always have 0 membership." (and (r.= //.false (/.membership bottom trapezoid)) (r.= //.false (/.membership top trapezoid)))) (_.test "Values within inner range will have membership = 1" (bit\= (r.= //.true (/.membership sample trapezoid)) - (and (<gte> middle-bottom sample) - (<lte> middle-top sample)))) + (and (<gte> middle_bottom sample) + (<lte> middle_top sample)))) (_.test "Values within range, will have membership > 0." (bit\= (r.> //.false (/.membership sample trapezoid)) (and (<gt> bottom sample) @@ -100,7 +100,7 @@ (<gte> top sample)))) ))))] - [rev-trapezoids "Rev" r.hash random.rev /.trapezoid r.< r.<= r.> r.>=] + [rev_trapezoids "Rev" r.hash random.rev /.trapezoid r.< r.<= r.> r.>=] ) (def: #export triangle @@ -119,40 +119,40 @@ right ..triangle sample random.rev] ($_ _.and - (_.test (%.name (name-of /.union)) + (_.test (%.name (name_of /.union)) (let [combined (/.union left right) - combined-membership (/.membership sample combined)] + combined_membership (/.membership sample combined)] (and (r.>= (/.membership sample left) - combined-membership) + combined_membership) (r.>= (/.membership sample right) - combined-membership)))) - (_.test (%.name (name-of /.intersection)) + combined_membership)))) + (_.test (%.name (name_of /.intersection)) (let [combined (/.intersection left right) - combined-membership (/.membership sample combined)] + combined_membership (/.membership sample combined)] (and (r.<= (/.membership sample left) - combined-membership) + combined_membership) (r.<= (/.membership sample right) - combined-membership)))) - (_.test (%.name (name-of /.complement)) + combined_membership)))) + (_.test (%.name (name_of /.complement)) (r.= (/.membership sample left) (//.not (/.membership sample (/.complement left))))) - (_.test (%.name (name-of /.difference)) + (_.test (%.name (name_of /.difference)) (r.<= (/.membership sample right) (/.membership sample (/.difference left right)))) )))) -(def: predicates-and-sets +(def: predicates_and_sets Test (do {! random.monad} - [#let [set-10 (set.from-list n.hash (enum.range n.enum 0 10))] + [#let [set_10 (set.from_list n.hash (enum.range n.enum 0 10))] sample (|> random.nat (\ ! map (n.% 20)))] ($_ _.and - (_.test (%.name (name-of /.from-predicate)) - (bit\= (r.= //.true (/.membership sample (/.from-predicate n.even?))) + (_.test (%.name (name_of /.from_predicate)) + (bit\= (r.= //.true (/.membership sample (/.from_predicate n.even?))) (n.even? sample))) - (_.test (%.name (name-of /.from-set)) - (bit\= (r.= //.true (/.membership sample (/.from-set set-10))) - (set.member? set-10 sample))) + (_.test (%.name (name_of /.from_set)) + (bit\= (r.= //.true (/.membership sample (/.from_set set_10))) + (set.member? set_10 sample))) ))) (def: thresholds @@ -161,12 +161,12 @@ [fuzzy ..triangle sample random.rev threshold random.rev - #let [vip-fuzzy (/.cut threshold fuzzy) - member? (/.to-predicate threshold fuzzy)]] - (<| (_.context (%.name (name-of /.cut))) + #let [vip_fuzzy (/.cut threshold fuzzy) + member? (/.to_predicate threshold fuzzy)]] + (<| (_.context (%.name (name_of /.cut))) ($_ _.and (_.test "Can increase the threshold of membership of a fuzzy set." - (bit\= (r.> //.false (/.membership sample vip-fuzzy)) + (bit\= (r.> //.false (/.membership sample vip_fuzzy)) (r.> threshold (/.membership sample fuzzy)))) (_.test "Can turn fuzzy sets into predicates through a threshold." (bit\= (member? sample) @@ -175,11 +175,11 @@ (def: #export test Test - (<| (_.context (%.name (name-of /._))) + (<| (_.context (%.name (name_of /._))) ($_ _.and - ..rev-triangles - ..rev-trapezoids + ..rev_triangles + ..rev_trapezoids ..combinators - ..predicates-and-sets + ..predicates_and_sets ..thresholds ))) |