Prev Next vector_set_get_xam.pm Headings

@(@\newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} }@)@
Perl: Setting and Getting Vector Elements: Example and Test
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 );
}

Input File: build/lib/example/perl/vector_set_get_xam.pm