AI-FuzzyEngine
view release on metacpan or search on metacpan
use strict;
use warnings;
use Module::Build;
my $builder = Module::Build->new(
module_name => 'AI::FuzzyEngine',
license => 'perl',
dist_author => q{Juergen Mueck <jmueck@cpan.org>},
dist_version_from => 'lib/AI/FuzzyEngine.pm',
build_requires => {
'Test::More' => 0,
'Test::Most' => 0,
'List::Util' => 0,
'List::MoreUtils' => 0,
'Scalar::Util' => 0,
'Carp' => 0,
},
requires => {
'perl' => 5.008009,
},
add_to_cleanup => [ 'AI-FuzzyEngine-*' ],
create_makefile_pl => 'traditional',
Revision history for AI-FuzzyEngine
0.1.0 2013-02-08
First version, released on an unsuspecting world.
0.1.1 2013-02-08
README costumized. POD small improvement.
0.2.0 2013-02-13
PDL awareness
Tests re-factored
requires perl 5.8.9
POD improved, PDL sections added
0.2.1 2013-02-14
Bug in test fixed (use PDL removed)
versioning of Set and Variable adapted
0.2.2 2013-02-27
Declaring a version with version->declare() instead of qw()
A variable can change its sets' membership functions
"version" : "2"
},
"name" : "AI-FuzzyEngine",
"prereqs" : {
"build" : {
"requires" : {
"Carp" : 0,
"List::MoreUtils" : 0,
"List::Util" : 0,
"Scalar::Util" : 0,
"Test::More" : 0,
"Test::Most" : 0
}
},
"configure" : {
"requires" : {
"Module::Build" : "0.38"
}
},
"runtime" : {
"requires" : {
"perl" : "5.008009"
---
abstract: 'A Fuzzy Engine, PDL aware'
author:
- 'Juergen Mueck <jmueck@cpan.org>'
build_requires:
Carp: 0
List::MoreUtils: 0
List::Util: 0
Scalar::Util: 0
Test::More: 0
Test::Most: 0
configure_requires:
Module::Build: 0.38
dynamic_config: 1
generated_by: 'Module::Build version 0.38, CPAN::Meta::Converter version 2.112150'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: AI-FuzzyEngine
provides:
Makefile.PL view on Meta::CPAN
require 5.008009;
use ExtUtils::MakeMaker;
WriteMakefile
(
'PL_FILES' => {},
'INSTALLDIRS' => 'site',
'NAME' => 'AI::FuzzyEngine',
'EXE_FILES' => [],
'VERSION_FROM' => 'lib/AI/FuzzyEngine.pm',
'PREREQ_PM' => {
'Test::More' => 0,
'Scalar::Util' => 0,
'List::Util' => 0,
'Test::Most' => 0,
'List::MoreUtils' => 0,
'Carp' => 0
}
)
;
lib/AI/FuzzyEngine/Variable.pm view on Meta::CPAN
# and reset the variable
$self->reset;
return;
}
sub _init {
my ($self, @pars) = @_;
croak "Too few arguments" unless @pars >= 2;
# Test for internal variable
my ($from, $to, @sets);
if (looks_like_number $pars[0]) {
# $from => $to is given
$self->{is_internal} = '';
($from, $to, @sets) = @pars;
}
else {
$self->{is_internal} = 1;
($from, $to, @sets) = (undef, undef, @pars);
};
t/00-load.t view on Meta::CPAN
use Test::More tests => 3;
BEGIN {
use_ok( 'AI::FuzzyEngine' ) || print "Bail out!\n";
use_ok( 'AI::FuzzyEngine::Variable' ) || print "Bail out!\n";
use_ok( 'AI::FuzzyEngine::Set' ) || print "Bail out!\n";
}
# diag( "Testing AI::FuzzyEngine $AI::FuzzyEngine::VERSION, Perl $], $^X" );
t/01-fuzzyEngine.t view on Meta::CPAN
use Test::Most;
use List::MoreUtils;
# check (not-) loading of PDL
BEGIN { use_ok 'AI::FuzzyEngine::Set' };
BEGIN { use_ok 'AI::FuzzyEngine::Variable' };
BEGIN { use_ok 'AI::FuzzyEngine' };
sub class { 'AI::FuzzyEngine' };
sub set_class { 'AI::FuzzyEngine::Set' };
t/01-fuzzyEngine.t view on Meta::CPAN
throws_ok {$s = AI::FuzzyEngine::Set->new(%set_pars)
} qr/no double/i, 'Checks double interpolation coordinates';
};
subtest "$set_class special memb_fun methods" => sub {
# Replace a membership function
my $s = $set_class->new(%set_pars);
is_deeply( $s->memb_fun, [[7, 8] => [0, 1]],
'(preconditions)',
) or diag 'Test broken, check precondition';
my $new_fun = [ [5, 6] => [0.5, 0.7] ];
$s->replace_memb_fun( $new_fun );
is_deeply( $s->memb_fun, $new_fun, 'replace_memb_fun' );
1;
};
subtest "$var_class functions" => sub {
my $memb_fun = $var_class->_curve_to_fun( [8=>1, 7=>0] );
t/02-fuzzyEngine-pdl_aware.t view on Meta::CPAN
use Test::Most;
use List::MoreUtils;
use AI::FuzzyEngine::Set;
use AI::FuzzyEngine::Variable;
use AI::FuzzyEngine;
sub class { 'AI::FuzzyEngine' };
sub set_class { 'AI::FuzzyEngine::Set' };
sub var_class { 'AI::FuzzyEngine::Variable' };
( run in 0.551 second using v1.01-cache-2.11-cpan-4d50c553e7e )