|
Prev | Next | vector_set_get_xam.pm | Headings |
package vector_set_get_xam;
sub vector_set_get_xam() {
# check for standard perl programming conventions
use strict;
use warnings;
#
# load the Cppad Swig library
use pm_cppad;
#
# initilaize return variable
my $ok = 1;
# ---------------------------------------------------------------------
my $n = 4;
my $bv = new pm_cppad::vec_bool($n);
my $iv = new pm_cppad::vec_int($n);
my $dv = new pm_cppad::vec_double($n);
my $av = new pm_cppad::vec_a_double($n);
#
# setting elements
for(my $i = 0; $i < $n ; $i++) {
$bv->set($i, $i > $n / 2);
$iv->set($i, 2 * $i);
$dv->set($i, 3.0 * $i);
$av->set($i, new pm_cppad::a_double(4.0 * $i));
}
#
for(my $i = 0; $i < $n ; $i++) {
my $be = $bv->get($i);
$ok = $ok && $be == ($i > $n / 2) ;
#
my $ie = $iv->get($i);
$ok = $ok && $ie == 2 * $i ;
#
my $de = $dv->get($i);
$ok = $ok && $de == 3.0 * $i ;
#
my $ae = $av->get($i);
$ok = $ok && $ae->value() == 4.0 * $i ;
}
#
return( $ok );
}