File: 9_types.t

package info (click to toggle)
inline-octave 0.22-3
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 132 kB
  • ctags: 67
  • sloc: perl: 822; makefile: 44
file content (57 lines) | stat: -rw-r--r-- 1,091 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
use strict;
use Test;
 
BEGIN {
           plan(tests => 5) ;
}
         
use Inline Octave => q{ };

use Math::Complex;

{
   my $v= [1,1,2,3 + 6*i,4];
   my $c= Inline::Octave::ComplexMatrix->new($v);
   my @l1= $c->as_list();
   ok(alleq ($v, \@l1));

   my @l2= (5*$c)->as_list();
   ok(alleq ([5,5,10,15+30*i,20], \@l2));

   my @l3= ([5-1*i]*$c)->as_list();
   ok(alleq ([5-1*i,5-1*i,10-2*i,21+27*i,20-4*i], \@l3));
}

{
   my $v= [4, -9 , 16 ];
   my $c= Inline::Octave::Matrix->new($v);
   my @l= $c->sqrt()->as_list();

   ok(alleq ([ 2, 3*i, 4], \@l));
}

   use Inline Octave => q{
      function out = countstr( str )
         out= "";
         for i=1:size(str,1)
            out= [out,sprintf("idx=%d row=(%s)\n",i, str(i,:) )];
         end
      endfunction
   };

{
   my $str= new Inline::Octave::String([ "asdf","b" ] );
   my $x=   countstr( $str );

   ok( $x->disp, "idx=1 row=(asdf)\nidx=2 row=(b   )\n");
}
  

sub alleq {
   my @l1= @{shift()};
   my @l2= @{shift()};
   for( my $i=0 ; $i < @l1; $i++) {
      return 0 unless $l1[$i] == $l2[$i];
   }
   return 1;
}