diff -durr VAAL.orig/SortKmersImpl.h VAAL/SortKmersImpl.h --- VAAL.orig/SortKmersImpl.h 2009-11-12 13:02:40.116993289 +0000 +++ VAAL/SortKmersImpl.h 2009-11-12 13:04:59.416388534 +0000 @@ -98,7 +98,7 @@ { if ( reads[l].size( ) < KSPAN ) continue; unsigned int N = reads[l].size( ) - KSPAN + 1; if ( S + 2*N >= R.size( ) ) { - unsigned nn = Max( (long unsigned) ( 1.2 * R.size( ) ), (R.size( ) + 2*N) ); + unsigned nn = Max( (long unsigned) ( 1.2 * R.size( ) ), (long unsigned) (R.size( ) + 2*N) ); if ( nn < R.size( ) ) FatalErr( "SortKmers<1>: Unsigned-int overflow (R=" << R.size( ) << ")" ); R.resize(nn); } @@ -180,7 +180,7 @@ } if ( q == N ) break; if ( S + 2*N >= R.size( ) ) { - unsigned nn = Max( (long unsigned) ( 1.2 * R.size( ) ), (R.size( ) + 2*N) ); + unsigned nn = Max( (long unsigned) ( 1.2 * R.size( ) ), (long unsigned) (R.size( ) + 2*N) ); if ( nn < R.size( ) ) FatalErr( "SortKmers<10>: Unsigned-int overflow (R=" << R.size( ) << ")" ); R.resize(nn); } @@ -207,7 +207,7 @@ top += Min( N - top, (unsigned int) 10000 ); if ( S + 20000 >= R.size( ) || S + 2*N >= R.size( ) ) { - unsigned nn = Max( (long unsigned) ( 1.2 * R.size( ) ), (R.size( ) + 2*N) ); + unsigned nn = Max( (long unsigned) ( 1.2 * R.size( ) ), (long unsigned) (R.size( ) + 2*N) ); if ( nn < R.size( ) ) FatalErr( "SortKmers<10>: Unsigned-int overflow (R=" << R.size( ) << ")" ); R.resize(nn); } @@ -318,7 +318,7 @@ top += Min( N - top, 10000 ); if ( S + 2*(top - q) >= R.size( ) ) { - unsigned nn = Max( (unsigned) ( 1.2 * R.size( ) ), (S + 2*(top - q)) ); + unsigned nn = Max( (unsigned) ( 1.2 * R.size( ) ), (unsigned) (S + 2*(top - q)) ); if ( nn < R.size( ) ) FatalErr( "SortKmers<100>: Unsigned-int overflow (R=" << R.size( ) << ")" ); R.resize(nn); }