AI-FANN
view release on metacpan or search on metacpan
unsigned int i;
unsigned int num_layers;
CODE:
num_layers = items - 1;
Newx(layers, num_layers, unsigned int);
SAVEFREEPV(layers);
for (i = 0; i < num_layers; i++) {
layers[i] = SvIV(ST(i+1));
}
RETVAL = fann_create_standard_array(num_layers, layers);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)RETVAL);
struct fann *
fann_new_sparse(klass, connection_rate, ...)
SV *klass;
double connection_rate;
PREINIT:
unsigned int *layers;
unsigned int i;
unsigned int num_layers;
CODE:
num_layers = items - 2;
Newx(layers, num_layers, unsigned int);
SAVEFREEPV(layers);
for (i = 0; i < num_layers; i++) {
layers[i] = SvIV(ST(i+2));
}
RETVAL = fann_create_sparse_array(connection_rate, num_layers, layers);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)RETVAL);
struct fann *
fann_new_shortcut(klass, ...)
SV *klass;
PREINIT:
unsigned int *layers;
unsigned int i;
unsigned int num_layers;
CODE:
num_layers = items - 1;
Newx(layers, num_layers, unsigned int);
SAVEFREEPV(layers);
for (i = 0; i < num_layers; i++) {
layers[i] = SvIV(ST(i+1));
}
RETVAL = fann_create_shortcut_array(num_layers, layers);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)RETVAL);
struct fann *
fann_new_from_file(klass, filename)
SV *klass;
char *filename;
CODE:
RETVAL = fann_create_from_file(filename);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)RETVAL);
void
fann_DESTROY(self)
struct fann * self;
CODE:
fann_destroy(self);
sv_unmagic(SvRV(ST(0)), '~');
int
fann_save(self, filename)
struct fann *self;
char * filename;
CODE:
RETVAL = !fann_save(self, filename);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
fta_output
fann_run(self, input)
struct fann *self;
fta_input input;
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN::TrainData PREFIX = fann_train_data_
struct fann_train_data *
fann_train_data_new_from_file(klass, filename)
SV *klass;
const char *filename;
CODE:
RETVAL = fann_train_data_create_from_file(filename);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)RETVAL);
struct fann_train_data *
fann_train_data_new_empty(klass, num_data, num_input, num_output)
SV *klass;
unsigned int num_data;
unsigned int num_input;
unsigned int num_output;
CODE:
RETVAL = fann_train_data_create(num_data, num_input, num_output);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)RETVAL);
void
fann_train_data_data(self, index, ...)
struct fann_train_data *self;
unsigned int index;
PREINIT:
AV *input;
Perl_croak(aTHX_ "wrong number of arguments in constructor");
}
num_data = items >> 1;
num_input = av_len(input) + 1;
if (!num_input)
Perl_croak(aTHX_ "input array is empty");
num_output = av_len(output) + 1;
if (!num_output)
Perl_croak(aTHX_ "output array is empty");
RETVAL = fann_train_data_create(num_data, num_input, num_output);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)RETVAL);
/* we do that at cleanup to ensure that the just created object is
* freed if we croak */
if (RETVAL) {
for (i = 0; i < num_data; i++) {
unsigned int j;
input = _srv2av(aTHX_ ST(1 + i * 2), num_input, "input");
for (j = 0; j < num_input; j++) {
accessors.xsh view on Meta::CPAN
enum fann_train_enum
accessor_training_algorithm(self, value = NO_INIT)
struct fann * self;
enum fann_train_enum value
CODE:
if (items > 1) {
fann_set_training_algorithm(self, value);
}
RETVAL = fann_get_training_algorithm(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
enum fann_errorfunc_enum
accessor_train_error_function(self, value = NO_INIT)
struct fann * self;
enum fann_errorfunc_enum value
CODE:
if (items > 1) {
fann_set_train_error_function(self, value);
}
RETVAL = fann_get_train_error_function(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
enum fann_stopfunc_enum
accessor_train_stop_function(self, value = NO_INIT)
struct fann * self;
enum fann_stopfunc_enum value
CODE:
if (items > 1) {
fann_set_train_stop_function(self, value);
}
RETVAL = fann_get_train_stop_function(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_learning_rate(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_learning_rate(self, value);
}
RETVAL = fann_get_learning_rate(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_learning_momentum(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_learning_momentum(self, value);
}
RETVAL = fann_get_learning_momentum(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
fann_type
accessor_bit_fail_limit(self, value = NO_INIT)
struct fann * self;
fann_type value
CODE:
if (items > 1) {
fann_set_bit_fail_limit(self, value);
}
RETVAL = fann_get_bit_fail_limit(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_quickprop_decay(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_quickprop_decay(self, value);
}
RETVAL = fann_get_quickprop_decay(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_quickprop_mu(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_quickprop_mu(self, value);
}
RETVAL = fann_get_quickprop_mu(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_rprop_increase_factor(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_rprop_increase_factor(self, value);
}
RETVAL = fann_get_rprop_increase_factor(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_rprop_decrease_factor(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_rprop_decrease_factor(self, value);
}
RETVAL = fann_get_rprop_decrease_factor(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_rprop_delta_min(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_rprop_delta_min(self, value);
}
RETVAL = fann_get_rprop_delta_min(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_rprop_delta_max(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_rprop_delta_max(self, value);
}
RETVAL = fann_get_rprop_delta_max(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_num_inputs(self)
struct fann * self;
CODE:
RETVAL = fann_get_num_input(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_num_outputs(self)
struct fann * self;
CODE:
RETVAL = fann_get_num_output(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_total_neurons(self)
struct fann * self;
CODE:
RETVAL = fann_get_total_neurons(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_total_connections(self)
struct fann * self;
CODE:
RETVAL = fann_get_total_connections(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_connection_rate(self)
struct fann * self;
CODE:
RETVAL = fann_get_connection_rate(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_MSE(self)
struct fann * self;
CODE:
RETVAL = fann_get_MSE(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_bit_fail(self)
struct fann * self;
CODE:
RETVAL = fann_get_bit_fail(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_cascade_output_change_fraction(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_cascade_output_change_fraction(self, value);
}
RETVAL = fann_get_cascade_output_change_fraction(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_cascade_output_stagnation_epochs(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_cascade_output_stagnation_epochs(self, value);
}
RETVAL = fann_get_cascade_output_stagnation_epochs(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
double
accessor_cascade_candidate_change_fraction(self, value = NO_INIT)
struct fann * self;
double value
CODE:
if (items > 1) {
fann_set_cascade_candidate_change_fraction(self, value);
}
RETVAL = fann_get_cascade_candidate_change_fraction(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_cascade_candidate_stagnation_epochs(self, value = NO_INIT)
struct fann * self;
unsigned int value
CODE:
if (items > 1) {
fann_set_cascade_candidate_stagnation_epochs(self, value);
}
RETVAL = fann_get_cascade_candidate_stagnation_epochs(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
fann_type
accessor_cascade_weight_multiplier(self, value = NO_INIT)
struct fann * self;
fann_type value
CODE:
if (items > 1) {
fann_set_cascade_weight_multiplier(self, value);
}
RETVAL = fann_get_cascade_weight_multiplier(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
fann_type
accessor_cascade_candidate_limit(self, value = NO_INIT)
struct fann * self;
fann_type value
CODE:
if (items > 1) {
fann_set_cascade_candidate_limit(self, value);
}
RETVAL = fann_get_cascade_candidate_limit(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_cascade_max_out_epochs(self, value = NO_INIT)
struct fann * self;
unsigned int value
CODE:
if (items > 1) {
fann_set_cascade_max_out_epochs(self, value);
}
RETVAL = fann_get_cascade_max_out_epochs(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_cascade_max_cand_epochs(self, value = NO_INIT)
struct fann * self;
unsigned int value
CODE:
if (items > 1) {
fann_set_cascade_max_cand_epochs(self, value);
}
RETVAL = fann_get_cascade_max_cand_epochs(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_cascade_num_candidates(self)
struct fann * self;
CODE:
RETVAL = fann_get_cascade_num_candidates(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_cascade_num_candidate_groups(self, value = NO_INIT)
struct fann * self;
unsigned int value
CODE:
if (items > 1) {
fann_set_cascade_num_candidate_groups(self, value);
}
RETVAL = fann_get_cascade_num_candidate_groups(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
enum fann_activationfunc_enum
accessor_neuron_activation_function(self, layer, neuron_index, value = NO_INIT)
struct fann * self;
unsigned int layer;
unsigned int neuron_index;
enum fann_activationfunc_enum value
CODE:
if (items > 3) {
fann_set_activation_function(self, value, layer, neuron_index);
}
RETVAL = fann_get_activation_function(self, layer, neuron_index);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
void
accessor_layer_activation_function(self, layer, value)
struct fann * self;
unsigned int layer;
accessors.xsh view on Meta::CPAN
accessor_neuron_activation_steepness(self, layer, neuron, value = NO_INIT)
struct fann * self;
unsigned int layer;
unsigned int neuron;
fann_type value
CODE:
if (items > 3) {
fann_set_activation_steepness(self, value, layer, neuron);
}
RETVAL = fann_get_activation_steepness(self, layer, neuron);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
void
accessor_layer_activation_steepness(self, layer, value)
struct fann * self;
unsigned int layer;
accessors.xsh view on Meta::CPAN
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_layer_num_neurons(self, layer)
struct fann * self;
unsigned int layer;
CODE:
RETVAL = fann_get_num_neurons(self, layer);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN PREFIX = accessor_
unsigned int
accessor_num_layers(self)
struct fann * self;
CODE:
RETVAL = fann_get_num_layers(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN::TrainData PREFIX = accessor_
unsigned int
accessor_num_inputs(self)
struct fann_train_data * self;
CODE:
RETVAL = fann_train_data_num_input(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN::TrainData PREFIX = accessor_
unsigned int
accessor_num_outputs(self)
struct fann_train_data * self;
CODE:
RETVAL = fann_train_data_num_output(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
MODULE = AI::FANN PACKAGE = AI::FANN::TrainData PREFIX = accessor_
unsigned int
accessor_length(self)
struct fann_train_data * self;
CODE:
RETVAL = fann_train_data_length(self);
OUTPUT:
RETVAL
CLEANUP:
_check_error(aTHX_ (struct fann_error *)self);
genaccessors view on Meta::CPAN
$type
accessor_$method($args, value = NO_INIT)
$types
$type value
CODE:
if (items > $nixs) {
$setter;
}
RETVAL = $getter;
OUTPUT:
RETVAL
EOA
}
elsif ($getter) {
print <<EOA;
$type
accessor_$method($args)
$types
CODE:
RETVAL = $getter;
OUTPUT:
RETVAL
EOA
}
elsif ($setter) {
print <<EOA;
void
accessor_$method($args, value)
$types
$type value;
PTR2ul|5.007001||p
PTRV|5.006000||p
PUSHMARK|||
PUSH_MULTICALL||5.009005|
PUSHi|||
PUSHmortal|5.009002||p
PUSHn|||
PUSHp|||
PUSHs|||
PUSHu|5.004000||p
PUTBACK|||
PerlIO_clearerr||5.007003|
PerlIO_close||5.007003|
PerlIO_context_layers||5.009004|
PerlIO_eof||5.007003|
PerlIO_error||5.007003|
PerlIO_fileno||5.007003|
PerlIO_fill||5.007003|
PerlIO_flush||5.007003|
PerlIO_get_base||5.007003|
PerlIO_get_bufsiz||5.007003|
{
dSP;
SV* sv = newSVpv(p, 0);
PUSHMARK(sp);
eval_sv(sv, G_SCALAR);
SvREFCNT_dec(sv);
SPAGAIN;
sv = POPs;
PUTBACK;
if (croak_on_error && SvTRUE(GvSV(errgv)))
croak(SvPVx(GvSV(errgv), na));
return sv;
}
#endif
#endif
TYPEMAP
struct fann * T_PTROBJ_MAGIC
struct fann_train_data * T_PTROBJ_MAGIC
fann_type T_DOUBLE
fta_input T_FTA_INPUT
fta_output T_FTA_OUTPUT
enum fann_train_enum T_UV
enum fann_stopfunc_enum T_UV
enum fann_errorfunc_enum T_UV
enum fann_activationfunc_enum T_UV
enum fann_train_enum T_FANN_TRAIN_ENUM
enum fann_activationfunc_enum T_FANN_ACTIVATIONFUNC_ENUM
enum fann_errorfunc_enum T_FANN_ERRORFUNC_ENUM
enum fann_stopfunc_enum T_STOPFUNC_ENUM
INPUT
T_PTROBJ_MAGIC
$var = ($type)_sv2obj(aTHX_ $arg, \"${type}\", 1);
T_FTA_INPUT
$var = _sv2fta(aTHX_ $arg, self->num_input, WANT_MORTAL, \"${var}\");
T_FTA_OUTPUT
$var = _sv2fta(aTHX_ $arg, self->num_output, WANT_MORTAL, \"${var}\");
T_FANN_TRAIN_ENUM
$var = _sv2fann_train_enum($arg)
T_FANN_ACTIVATIONFUNC_ENUM
$var = _sv2fann_activationfunc_enum($arg)
T_FANN_ERRORFUNC_ENUM
$var = _sv2fann_errorfunc_enum($arg)
T_STOPFUNC_ENUM
$var = _sv2fann_stopfunc_enum($arg)
OUTPUT
T_PTROBJ_MAGIC
$arg = _obj2sv(aTHX_ $var, ST(0), "$type");
T_FTA_OUTPUT
$arg = _fta2sv(aTHX_ $var, self->num_output);
T_FANN_TRAIN_ENUM
$arg = _fann_train_enum2sv($var);
T_FANN_ACTIVATIONFUNC_ENUM
$arg = _fann_activationfunc_enum2sv($var);
T_FANN_ERRORFUNC_ENUM
$arg = _fann_errorfunc_enum2sv($var);
( run in 0.425 second using v1.01-cache-2.11-cpan-d6f9594c0a5 )