AI-FANN
view release on metacpan or search on metacpan
stash = gv_stashsv(klass, 1);
sv_bless(rv, stash);
}
return rv;
}
return &PL_sv_undef;
}
static void *
_sv2obj(pTHX_ SV* self, char * ctype, int required) {
SV *sv = SvRV(self);
if (sv) {
if (SvTYPE(sv) == SVt_PVMG) {
MAGIC *mg = mg_find(sv, '~');
if (mg) {
if (strcmp(ctype, mg->mg_ptr) == 0 && mg->mg_obj) {
return INT2PTR(void *, SvIV(mg->mg_obj));
}
}
}
}
if (required) {
Perl_croak(aTHX_ "object of class %s expected", ctype);
}
return NULL;
}
static SV *
_fta2sv(pTHX_ fann_type *fta, unsigned int len) {
unsigned int i;
AV *av = newAV();
av_extend(av, len - 1);
static AV*
_srv2av(pTHX_ SV* sv, unsigned int len, char * const name) {
if (SvROK(sv)) {
AV *av = (AV*)SvRV(sv);
if (SvTYPE((SV*)av)==SVt_PVAV) {
if (av_len(av)+1 == len) {
return av;
}
else {
Perl_croak(aTHX_ "wrong number of elements in %s array, %d found when %d were required",
name, (unsigned int)(av_len(av)+1), len);
}
}
}
Perl_croak(aTHX_ "wrong type for %s argument, array reference expected", name);
}
static fann_type*
_sv2fta(pTHX_ SV *sv, unsigned int len, int flags, char * const name) {
unsigned int i;
=======
This module provides a Perl wrapper for the FANN library
(http://fann.sf.net).
DEPENDENCIES
This module requires the FANN library version 2.1.0beta or later
compiled to use doubles internally.
The module Test::More is also required for testing.
INSTALLATION
To install this module type the following:
perl Makefile.PL
make
make test
make install
lib/AI/FANN.pm view on Meta::CPAN
fann_set_activation_function_hidden => hidden_activation_function
fann_set_activation_function_output => output_activation_function
=item *
Boolean methods return true on success and undef on failure.
=item *
Any error reported from the C side is automaticaly converter to a Perl
exception. No manual error checking is required after calling FANN
functions.
=item *
Memory management is automatic, no need to call destroy methods.
=item *
Doubles are used for computations (using floats or fixed
point types is not supported).
lib/AI/FANN.pm view on Meta::CPAN
=head1 INSTALLATION
See the README file for instruction on installing this module.
=head1 BUGS
Only tested on Linux.
I/O is not performed through PerlIO because the C library doesn't have
the required infrastructure to do that.
Send bug reports to my email address or use the CPAN RT system.
=head1 SEE ALSO
FANN homepage at L<http://leenissen.dk/fann/index.php>.
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2006-2008 by Salvador FandiE<ntilde>o
mydiff(\*PATCH, $filename, $c);
}
else {
fallback:
info("Suggested changes:");
mydiff(\*STDOUT, $filename, $c);
}
}
else {
my $s = $file{changes} == 1 ? '' : 's';
info("$file{changes} potentially required change$s detected");
}
}
else {
info("Looks good");
}
}
close PATCH if $patch_opened;
exit 0;
#!/usr/bin/perl
use strict;
use Test::More;
plan skip_all => "Only the author needs to check that POD docs are right"
unless eval "no warnings; getlogin eq 'salva'";
eval "use Test::Pod 1.00";
plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
all_pod_files_ok( all_pod_files( qw(blib) ) );
( run in 0.609 second using v1.01-cache-2.11-cpan-8780591d54d )