@@ -148,9 +148,7 @@ public void And(PrimitiveColumnContainer<bool> left, PrimitiveColumnContainer<bo
148148 {
149149 for ( int b = 0 ; b < left . Buffers . Count ; b ++ )
150150 {
151- var buffer = left . Buffers [ b ] ;
152- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
153- left . Buffers [ b ] = mutableBuffer ;
151+ var mutableBuffer = left . Buffers . GetOrCreateMutable ( b ) ;
154152 var span = mutableBuffer . Span ;
155153 var otherSpan = right . Buffers [ b ] . ReadOnlySpan ;
156154 for ( int i = 0 ; i < span . Length ; i ++ )
@@ -163,9 +161,7 @@ public void And(PrimitiveColumnContainer<bool> column, bool scalar)
163161 {
164162 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
165163 {
166- var buffer = column . Buffers [ b ] ;
167- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
168- column . Buffers [ b ] = mutableBuffer ;
164+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
169165 var span = mutableBuffer . Span ;
170166 for ( int i = 0 ; i < span . Length ; i ++ )
171167 {
@@ -177,9 +173,7 @@ public void And(bool scalar, PrimitiveColumnContainer<bool> column)
177173 {
178174 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
179175 {
180- var buffer = column . Buffers [ b ] ;
181- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
182- column . Buffers [ b ] = mutableBuffer ;
176+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
183177 var span = mutableBuffer . Span ;
184178 for ( int i = 0 ; i < span . Length ; i ++ )
185179 {
@@ -191,9 +185,7 @@ public void Or(PrimitiveColumnContainer<bool> left, PrimitiveColumnContainer<boo
191185 {
192186 for ( int b = 0 ; b < left . Buffers . Count ; b ++ )
193187 {
194- var buffer = left . Buffers [ b ] ;
195- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
196- left . Buffers [ b ] = mutableBuffer ;
188+ var mutableBuffer = left . Buffers . GetOrCreateMutable ( b ) ;
197189 var span = mutableBuffer . Span ;
198190 var otherSpan = right . Buffers [ b ] . ReadOnlySpan ;
199191 for ( int i = 0 ; i < span . Length ; i ++ )
@@ -206,9 +198,7 @@ public void Or(PrimitiveColumnContainer<bool> column, bool scalar)
206198 {
207199 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
208200 {
209- var buffer = column . Buffers [ b ] ;
210- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
211- column . Buffers [ b ] = mutableBuffer ;
201+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
212202 var span = mutableBuffer . Span ;
213203 for ( int i = 0 ; i < span . Length ; i ++ )
214204 {
@@ -220,9 +210,7 @@ public void Or(bool scalar, PrimitiveColumnContainer<bool> column)
220210 {
221211 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
222212 {
223- var buffer = column . Buffers [ b ] ;
224- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
225- column . Buffers [ b ] = mutableBuffer ;
213+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
226214 var span = mutableBuffer . Span ;
227215 for ( int i = 0 ; i < span . Length ; i ++ )
228216 {
@@ -234,9 +222,7 @@ public void Xor(PrimitiveColumnContainer<bool> left, PrimitiveColumnContainer<bo
234222 {
235223 for ( int b = 0 ; b < left . Buffers . Count ; b ++ )
236224 {
237- var buffer = left . Buffers [ b ] ;
238- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
239- left . Buffers [ b ] = mutableBuffer ;
225+ var mutableBuffer = left . Buffers . GetOrCreateMutable ( b ) ;
240226 var span = mutableBuffer . Span ;
241227 var otherSpan = right . Buffers [ b ] . ReadOnlySpan ;
242228 for ( int i = 0 ; i < span . Length ; i ++ )
@@ -249,9 +235,7 @@ public void Xor(PrimitiveColumnContainer<bool> column, bool scalar)
249235 {
250236 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
251237 {
252- var buffer = column . Buffers [ b ] ;
253- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
254- column . Buffers [ b ] = mutableBuffer ;
238+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
255239 var span = mutableBuffer . Span ;
256240 for ( int i = 0 ; i < span . Length ; i ++ )
257241 {
@@ -263,9 +247,7 @@ public void Xor(bool scalar, PrimitiveColumnContainer<bool> column)
263247 {
264248 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
265249 {
266- var buffer = column . Buffers [ b ] ;
267- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
268- column . Buffers [ b ] = mutableBuffer ;
250+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
269251 var span = mutableBuffer . Span ;
270252 for ( int i = 0 ; i < span . Length ; i ++ )
271253 {
@@ -285,9 +267,7 @@ public void ElementwiseEquals(PrimitiveColumnContainer<bool> left, PrimitiveColu
285267 {
286268 for ( int b = 0 ; b < left . Buffers . Count ; b ++ )
287269 {
288- var buffer = left . Buffers [ b ] ;
289- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
290- left . Buffers [ b ] = mutableBuffer ;
270+ var mutableBuffer = left . Buffers . GetOrCreateMutable ( b ) ;
291271 var span = mutableBuffer . Span ;
292272 var otherSpan = right . Buffers [ b ] . ReadOnlySpan ;
293273 for ( int i = 0 ; i < span . Length ; i ++ )
@@ -300,9 +280,7 @@ public void ElementwiseEquals(PrimitiveColumnContainer<bool> column, bool scalar
300280 {
301281 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
302282 {
303- var buffer = column . Buffers [ b ] ;
304- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
305- column . Buffers [ b ] = mutableBuffer ;
283+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
306284 var span = mutableBuffer . Span ;
307285 for ( int i = 0 ; i < span . Length ; i ++ )
308286 {
@@ -314,9 +292,7 @@ public void ElementwiseNotEquals(PrimitiveColumnContainer<bool> left, PrimitiveC
314292 {
315293 for ( int b = 0 ; b < left . Buffers . Count ; b ++ )
316294 {
317- var buffer = left . Buffers [ b ] ;
318- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
319- left . Buffers [ b ] = mutableBuffer ;
295+ var mutableBuffer = left . Buffers . GetOrCreateMutable ( b ) ;
320296 var span = mutableBuffer . Span ;
321297 var otherSpan = right . Buffers [ b ] . ReadOnlySpan ;
322298 for ( int i = 0 ; i < span . Length ; i ++ )
@@ -329,9 +305,7 @@ public void ElementwiseNotEquals(PrimitiveColumnContainer<bool> column, bool sca
329305 {
330306 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
331307 {
332- var buffer = column . Buffers [ b ] ;
333- var mutableBuffer = DataFrameBuffer < bool > . GetMutableBuffer ( buffer ) ;
334- column . Buffers [ b ] = mutableBuffer ;
308+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
335309 var span = mutableBuffer . Span ;
336310 for ( int i = 0 ; i < span . Length ; i ++ )
337311 {
@@ -483,9 +457,7 @@ public void ElementwiseEquals(PrimitiveColumnContainer<DateTime> left, Primitive
483457 {
484458 for ( int b = 0 ; b < left . Buffers . Count ; b ++ )
485459 {
486- var buffer = left . Buffers [ b ] ;
487- var mutableBuffer = DataFrameBuffer < DateTime > . GetMutableBuffer ( buffer ) ;
488- left . Buffers [ b ] = mutableBuffer ;
460+ var mutableBuffer = left . Buffers . GetOrCreateMutable ( b ) ;
489461 var span = mutableBuffer . Span ;
490462 var otherSpan = right . Buffers [ b ] . ReadOnlySpan ;
491463 for ( int i = 0 ; i < span . Length ; i ++ )
@@ -498,9 +470,7 @@ public void ElementwiseEquals(PrimitiveColumnContainer<DateTime> column, DateTim
498470 {
499471 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
500472 {
501- var buffer = column . Buffers [ b ] ;
502- var mutableBuffer = DataFrameBuffer < DateTime > . GetMutableBuffer ( buffer ) ;
503- column . Buffers [ b ] = mutableBuffer ;
473+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
504474 var span = mutableBuffer . Span ;
505475 for ( int i = 0 ; i < span . Length ; i ++ )
506476 {
@@ -512,9 +482,7 @@ public void ElementwiseNotEquals(PrimitiveColumnContainer<DateTime> left, Primit
512482 {
513483 for ( int b = 0 ; b < left . Buffers . Count ; b ++ )
514484 {
515- var buffer = left . Buffers [ b ] ;
516- var mutableBuffer = DataFrameBuffer < DateTime > . GetMutableBuffer ( buffer ) ;
517- left . Buffers [ b ] = mutableBuffer ;
485+ var mutableBuffer = left . Buffers . GetOrCreateMutable ( b ) ;
518486 var span = mutableBuffer . Span ;
519487 var otherSpan = right . Buffers [ b ] . ReadOnlySpan ;
520488 for ( int i = 0 ; i < span . Length ; i ++ )
@@ -527,9 +495,7 @@ public void ElementwiseNotEquals(PrimitiveColumnContainer<DateTime> column, Date
527495 {
528496 for ( int b = 0 ; b < column . Buffers . Count ; b ++ )
529497 {
530- var buffer = column . Buffers [ b ] ;
531- var mutableBuffer = DataFrameBuffer < DateTime > . GetMutableBuffer ( buffer ) ;
532- column . Buffers [ b ] = mutableBuffer ;
498+ var mutableBuffer = column . Buffers . GetOrCreateMutable ( b ) ;
533499 var span = mutableBuffer . Span ;
534500 for ( int i = 0 ; i < span . Length ; i ++ )
535501 {
0 commit comments