@@ -180,7 +180,6 @@ public void AppendMany(T? value, long count)
180
180
NullBitMapBuffers . Add ( new DataFrameBuffer < byte > ( ) ) ;
181
181
}
182
182
183
-
184
183
DataFrameBuffer < T > mutableLastBuffer = Buffers . GetOrCreateMutable ( Buffers . Count - 1 ) ;
185
184
int allocatable = ( int ) Math . Min ( remaining , ReadOnlyDataFrameBuffer < T > . MaxCapacity ) ;
186
185
mutableLastBuffer . EnsureCapacity ( allocatable ) ;
@@ -213,9 +212,10 @@ public void AppendMany(T? value, long count)
213
212
214
213
public void ApplyElementwise ( Func < T ? , long , T ? > func )
215
214
{
215
+ var bufferMaxCapacity = ReadOnlyDataFrameBuffer < T > . MaxCapacity ;
216
216
for ( int b = 0 ; b < Buffers . Count ; b ++ )
217
217
{
218
- long prevLength = checked ( Buffers [ 0 ] . Length * b ) ;
218
+ long prevLength = checked ( bufferMaxCapacity * b ) ;
219
219
220
220
Span < T > mutableBuffer = Buffers . GetOrCreateMutable ( b ) . Span ;
221
221
Span < byte > mutableNullBitMapBuffer = NullBitMapBuffers . GetOrCreateMutable ( b ) . Span ;
@@ -234,9 +234,10 @@ public void ApplyElementwise(Func<T?, long, T?> func)
234
234
public void Apply < TResult > ( Func < T ? , TResult ? > func , PrimitiveColumnContainer < TResult > resultContainer )
235
235
where TResult : unmanaged
236
236
{
237
+ var bufferMaxCapacity = ReadOnlyDataFrameBuffer < T > . MaxCapacity ;
237
238
for ( int b = 0 ; b < Buffers . Count ; b ++ )
238
239
{
239
- long prevLength = checked ( Buffers [ 0 ] . Length * b ) ;
240
+ long prevLength = checked ( bufferMaxCapacity * b ) ;
240
241
var sourceBuffer = Buffers [ b ] ;
241
242
var sourceNullBitMap = NullBitMapBuffers [ b ] . ReadOnlySpan ;
242
243
@@ -245,7 +246,6 @@ public void Apply<TResult>(Func<T?, TResult?> func, PrimitiveColumnContainer<TRe
245
246
246
247
for ( int i = 0 ; i < sourceBuffer . Length ; i ++ )
247
248
{
248
- long curIndex = i + prevLength ;
249
249
bool isValid = IsValid ( sourceNullBitMap , i ) ;
250
250
TResult ? value = func ( isValid ? sourceBuffer [ i ] : null ) ;
251
251
mutableResultBuffer [ i ] = value . GetValueOrDefault ( ) ;
0 commit comments