for( ; i<_len; i++ ) // Attempt to inject all doubles into longs
if( !Double.isNaN(_ds[i]) && (double)(long)_ds[i] != _ds[i] ) break;
if(i < _len)
return sparse?new CXDChunk(_len2,_len,8,bufD(8)):chunkD();
_ls = new long[_ds.length]; // Else flip to longs
<BUG>_xs = new int [_ds.length];
for( i=0; i<_len; i++ )   // Inject all doubles into longs
if( Double.isNaN(_ds[i]) ){_xs[i] = Integer.MIN_VALUE;_ls[i] = 0;}
else                       _ls[i] = (long)_ds[i];
_ds = null;</BUG>
}

for( ; i<_len; i++ ) // Attempt to inject all doubles into longs
if( !Double.isNaN(_ds[i]) && (double)(long)_ds[i] != _ds[i] ) break;
if(i < _len)
return sparse?new CXDChunk(_len2,_len,8,bufD(8)):chunkD();
_ls = new long[_ds.length]; // Else flip to longs
_xs = new int [_ds.length];
double [] ds = _ds;
_ds = null;
for( i=0; i<_len; i++ )   // Inject all doubles into longs
if( Double.isNaN(ds[i]) )setNA_impl2(i);
else                     _ls[i] = (long)ds[i];
}
