Incorrect search filter: invalid characters - *.p[ml]
AI-NeuralNet-FastSOM

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for Perl extension AI::NeuralNet::FastSOM.

0.19  Sat Dec  3 14:52:39 EST 2016
    - fix some errant sprintf's

0.18  Sat Dec  3 14:36:03 EST 2016
    - force all tests serially, not just test_dynamic

0.17  Sat Dec  3 02:43:38 EST 2016
    - force test harness to test serially
    - update copyright notice
    - clean up tests

0.16  Sat Jan  3 05:53:12 EST 2015
    - version bump - hasnt been tested in a while...
    - added auto-README generation to Makefile.PL
    - update copyright notice

0.15  Wed Jul 11 00:13:02 2012
	- tidy up build a bit
	- fixed warnings from CODE blocks using RETVAL without OUTPUT
	  blocks in newer perls
	- yet another typemap workaround. this time we have a 5.6.2 with
	  a new ParseXS and an old xsubpp. i wont even mention the problem
	  i found in old Test::More finding this. i hope it never becomes

Changes  view on Meta::CPAN

	- casting newSVpvs() to SV* to satisfy at least one platform
	- added 'const char *' to typemap for older perls
	- removed a few unneeded casts to internal types
	- moved DESTROY methods to superclass, thus fixing missing
	  Hexa::DESTROY and consolidating common code
	- consolidated neighbors code
	- general housekeeping

0.10  Fri Aug  7 09:11:39 2009
	- no longer relying on sizeof(void)
	- removed a bit of old test code
	- one more PTR2INT conversion
	- experimentally dropped perl require to 5.6.2
	- hopefully fixed a few casting problems for some platforms

0.09  Wed Aug  5 20:26:17 2009
	- removed several temporary AVs in train(), fixing massive
	  memory leak
	- removed another temp AV in _bmu_guts(), fixing another
	  memory leak
	- added pointer <-> IV conversions, hopefully fixing tons of

Changes  view on Meta::CPAN

	- fixed couple of instances of calling back to perl to get
	  stuff from c structs
	- reworked Storable support

0.07  Sat Jul 25 14:18:03 2009
	- clean up things a bit
	- now using Atol() instead of atoi()
	- now using Drand01() instead of rand()
	- now using seedDrand01() instead of srand()
	- fixed problem with not using all training vectors, or some twice
	- removed non-core Data::Dumper from tests
	- added tests for store/retrieve via Storable
	- first public release

0.06  Wed Jul 22 12:07:25 2009
	- removed AI::NN::FSOM::ARRAY, ::MAP, and ::VECTOR modules
	- removed Inline::C code from remaining modules
	- removed dependence on non-core parent.pm
	- removed remaining Inline::C macros and INLINE.h
	- moved train() into C
	- now parsing input_ and output_dim parameters (finally!)

0.05  Mon Jul 20 13:20:06 2009
	- re-added support for labels, originally in AI::NN::SOM
	- added original AI::NN::SOM test suite (and it works!)

0.04  Sat Jul 18 16:45:27 2009
	- removed dependence on Inline::C
	- minor refactor

0.03  Sat Jul 18 09:30:08 2009
	- created wrappers for most c-level stuff

0.02  Wed Jul 15 18:56:13 2009
	- moved data structures into C structs

Makefile.PL  view on Meta::CPAN

use ExtUtils::MakeMaker;

WriteMakefile(
    NAME          => 'AI::NeuralNet::FastSOM',
    VERSION_FROM  => 'lib/AI/NeuralNet/FastSOM.pm',
    ABSTRACT_FROM => 'lib/AI/NeuralNet/FastSOM.pm',
    AUTHOR        => 'Rick Myers <jrm@cpan.org>',
    LICENSE       => 'perl',
    PREREQ_PM     => { Storable => 0 },
    TYPEMAPS      => [ $] < 5.008000 ? 'typemap.v1' : 'typemap.v2' ],
    test          => { TESTS => 't/*.t t/orig/*.t' },
    clean         => { FILES => 't/*.bin typemap' },
);

#
# everything below is a work-around for some sort of bug in ExtUtils::ParseXS
# not picking up typemap files unless named "typemap" in perl5.6.2
#
# note however that the TYPEMAPS entry above is still needed for 5.6.2's still
# using the old xsubpp
#

package MY;

sub xs_c {
    my $t = shift->SUPER::xs_c(@_);
    $t =~ s/:/:\n	\$(MAKE) typemap/;
    $t;
}

sub test {
    my $t = shift->SUPER::test(@_);
    $t =~ s/(PERL_DL_NONLAZY=)/HARNESS_OPTIONS=j1 $1/g;
    $t;
}

sub postamble {
    my $out = <<'README';
readme:
	pod2text lib/AI/NeuralNet/FastSOM.pm README
	perl -i -pe's{\\*(\\S+)\\*}{\\1}g' README

TODO  view on Meta::CPAN

- skip some tests if Storable not found (for old perls).
  versions ok: 2.21, 2.20, 2.19, 2.18
  perls found in: 5.11.0, 5.10.1, 5.10.0, 5.8.8, 5.8.9p35104, 5.8.9, 5.8.8, 5.6.2

- "passing argument 3 of 'Perl_newXS' discards qualifiers
   from pointer target type". is this still a problem?

- clean up!

- figure out how to call perl's exp(), log() and getpid() functions.

t/hexa.t  view on Meta::CPAN

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM::Hexa') };

######
use Storable qw/store/;

{
    my $nn = AI::NeuralNet::FastSOM::Hexa->new(
        output_dim => 6,

t/hexa_retrieve.t  view on Meta::CPAN

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM::Hexa') };

######
use Storable 'retrieve';

ok( open(FILE, '< t/save_hexa_bmu.bin'), 'hexa open' );
my ( $bmu_x, $bmu_y ) = <FILE>;

t/orig/hexa.t  view on Meta::CPAN

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM::Hexa') };

######
#use Data::Dumper;

{
    my $nn = new AI::NeuralNet::FastSOM::Hexa (output_dim => 6,
					   input_dim  => 3);

t/orig/pods.t  view on Meta::CPAN

#== TESTS =====================================================================

use strict;

use Test::More;
eval "use Test::Pod 1.00";
plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;

my @PODs = qw(
	      lib/AI/NeuralNet/FastSOM.pm
	      lib/AI/NeuralNet/FastSOM/Rect.pm
	      lib/AI/NeuralNet/FastSOM/Hexa.pm
	      lib/AI/NeuralNet/FastSOM/Torus.pm
              );
plan tests => scalar @PODs;

map {
    pod_file_ok ( $_, "$_ pod ok" )
    } @PODs;

t/orig/rect.t  view on Meta::CPAN

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM::Rect') };

######
#use Data::Dumper;

{
    my $nn = new AI::NeuralNet::FastSOM::Rect (output_dim => "5x6",
					   input_dim  => 3);

t/orig/som.t  view on Meta::CPAN

#########################

# Change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM') };

######
#use Data::Dumper;

{
    use AI::NeuralNet::FastSOM::Rect;    # any non-abstract subclass should do
    my $nn = new AI::NeuralNet::FastSOM::Rect (output_dim => "5x6",

t/orig/torus.t  view on Meta::CPAN

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM::Torus') };

######
#use Data::Dumper;

{
    my $nn = new AI::NeuralNet::FastSOM::Torus (output_dim => "5x6",
					    input_dim  => 3);

t/pods.t  view on Meta::CPAN

#== TESTS =====================================================================

use strict;

use Test::More;
eval "use Test::Pod 1.00";
plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;

my @PODs = qw(
    lib/AI/NeuralNet/FastSOM.pm
    lib/AI/NeuralNet/FastSOM/Rect.pm
    lib/AI/NeuralNet/FastSOM/Hexa.pm
    lib/AI/NeuralNet/FastSOM/Torus.pm
);
plan tests => scalar @PODs;

map {
    pod_file_ok( $_, "$_ pod ok" )
} @PODs;

__END__

t/rect.t  view on Meta::CPAN

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM::Rect') };

######
use AI::NeuralNet::FastSOM::Utils;
use Storable qw/store/;

{
    my $nn = AI::NeuralNet::FastSOM::Rect->new(

t/rect_retrieve.t  view on Meta::CPAN

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM::Rect') };

######
use Storable 'retrieve';

ok( open(FILE, '< t/save_rect_bmu.bin'), 'rect open' );
my ( $bmu_x, $bmu_y ) = <FILE>;

t/som.t  view on Meta::CPAN

#########################

# Change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
#BEGIN { use_ok('AI::NeuralNet::FastSOM') };

######
use AI::NeuralNet::FastSOM::Rect;    # any non-abstract subclass should do

{
    my $nn = AI::NeuralNet::FastSOM::Rect->new(
        output_dim => "5x6",

t/torus_retrieve.t  view on Meta::CPAN

#########################

# change 'tests => 1' to 'tests => last_test_to_print';

use Test::More qw(no_plan);
BEGIN { use_ok('AI::NeuralNet::FastSOM::Torus') };

######
use Storable 'retrieve';

ok( open(FILE, '< t/save_torus_bmu.bin'), 'torus open' );
my ( $bmu_x, $bmu_y ) = <FILE>;



( run in 0.565 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )