int i;
- printf( "\nnmemb: %zu end: %zu\n", ba->nmemb, ba->end );
+ printf( "\nba->nmemb: %zu ba->end: %zu\n", ba->nmemb, ba->end );
for ( i = 0; i < ba->nmemb; i++ ) {
printf( "%d: %d\n", i, ba->array[ i ] );
assert( beg >= 0 );
assert( end >= 0 );
assert( end >= beg );
+ assert( score > 0 );
if ( end > ba->nmemb ) {
barray_resize( ba, barray_new_size( end ) );
size_t beg = *beg_pt;
size_t end = *end_pt;
- if ( pos > ba->end ) {
+ if ( pos > ba->end || ba->end == 0 ) {
return FALSE;
}
}
+ushort barray_interval_max( barray *ba, size_t beg, size_t end )
+{
+ /* Martin A. Hansen, December 2008. */
+
+ /* Locate the max value in an interval within a byte array. */
+
+ size_t i = 0;
+ ushort max = 0;
+
+ for ( i = beg; i <= end; i++ ) {
+ max = MAX( max, ba->array[ i ] );
+ }
+
+ return max;
+}
+
+
void barray_destroy( barray **ba_ppt )
{
/* Martin A. Hansen, November 2008. */