Packages

A toolkit for fuzzy logic, this library includes functions for creating fuzzy variables, sets, rules to create a Fuzzy Logic System (FLS).

Current section

Files

Jump to
flex test mf_test.exs
Raw

test/mf_test.exs

defmodule MfTest do
use ExUnit.Case
alias Flex.MembershipFun
doctest Flex
test "Triangle mf" do
{mf, _c} = MembershipFun.triangle([1, 2, 3])
assert mf.(1) == 0
assert mf.(1.5) == 0.5
assert mf.(2) == 1
assert mf.(2.5) == 0.5
assert mf.(3) == 0
assert mf.(40) == 0
end
test "Trapezoidal mf" do
{mf, _c} = MembershipFun.trapezoidal([1, 2, 3, 4])
assert mf.(1) == 0
assert mf.(1.5) == 0.5
assert mf.(2) == 1
assert mf.(2.5) == 1
assert mf.(3) == 1
assert mf.(3.5) == 0.5
assert mf.(4) == 0
assert mf.(40) == 0
end
test "Shoulder mf" do
{mf, _c} = MembershipFun.shoulder([1, 2, 4])
assert mf.(0.5) == 0
assert mf.(1) == 0
assert mf.(1.5) == 0.5
assert mf.(2) == 1
assert mf.(2.1) == 1
assert mf.(40) == 1
end
test "saturation mf" do
{mf, _c} = MembershipFun.saturation([1, 2, 4])
assert mf.(0.5) == 1
assert mf.(1) == 1
assert mf.(1.5) == 0.5
assert mf.(2) == 0
assert mf.(2.1) == 0
assert mf.(40) == 0
end
end