]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_perl/Maasha/C_bitarray.pm
adding bzip2 support in ruby
[biopieces.git] / code_perl / Maasha / C_bitarray.pm
index 523cbae1c62fde45298f6584149547b13567466a..d14a2480e385afb33c7aa45cd97ef5ab41b55530 100644 (file)
@@ -29,6 +29,7 @@ package Maasha::C_bitarray;
 
 
 
+use warnings;
 use strict;
 
 use vars qw ( @ISA @EXPORT );
@@ -57,10 +58,12 @@ void c_array_interval_fill( SV *array, int beg, int end, int score )
 
     size = len / sizeof( int );
 
+ printf( "C: len: %d    size: %d   sizeof( int ): %ld\n", len, size, sizeof(int) );
+
     assert( beg >= 0 );
     assert( end >= 0 );
     assert( beg <= size );
-    assert( end < size );
+    assert( end <= size );
     assert( score > 0 );
 
     for ( i = beg; i < end + 1; i++ ) {
@@ -168,8 +171,7 @@ sub c_array_init
     # Martin A. Hansen, November 2008.
 
     # Initializes a zeroed C integer array using
-    # Perls vec function to create a bit
-    # vector.
+    # Perls vec function to create a bit array.
 
     my ( $size,   # number of elements in array
          $bits,   # bit size
@@ -179,9 +181,12 @@ sub c_array_init
 
     my ( $vec );
 
-    $vec  = '';
+    $vec = '';
+
+    #vec( $vec, $size - 1, $bits ) = 0;
+    vec( $vec, 4 * $size - 1, $bits / 4 ) = 0;
 
-    vec( $vec, $size - 1, $bits ) = 0;
+    printf STDERR "P: size: %d   bits: %d   len: %d   size: %d\n", $size, $bits, length( $vec ), length( $vec ) / 4;
 
     return $vec;
 }