84 lines
3.9 KiB
Diff
84 lines
3.9 KiB
Diff
|
--- papilo-2.1.4/src/papilo/core/SparseStorage.hpp.orig 2023-12-06 11:38:08.349390191 -0700
|
||
|
+++ papilo-2.1.4/src/papilo/core/SparseStorage.hpp 2024-01-15 13:44:59.369457807 -0700
|
||
|
@@ -311,9 +311,9 @@ class SparseStorage
|
||
|
if( i != rowranges[row].end )
|
||
|
{
|
||
|
indbuffer.insert( indbuffer.end(), &columns[i],
|
||
|
- &columns[rowranges[row].end] );
|
||
|
+ &columns.data()[rowranges[row].end] );
|
||
|
valbuffer.insert( valbuffer.end(), &values[i],
|
||
|
- &values[rowranges[row].end] );
|
||
|
+ &values.data()[rowranges[row].end] );
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
@@ -858,15 +858,15 @@ SparseStorage<REAL>::shiftRows( const in
|
||
|
// space
|
||
|
} while( rowranges[l].start == rowranges[l - 1].end );
|
||
|
|
||
|
- REAL* valsout = &values[rowranges[l].start - lastshiftleft];
|
||
|
- int* colsout = &columns[rowranges[l].start - lastshiftleft];
|
||
|
+ REAL* valsout = &values.data()[rowranges[l].start - lastshiftleft];
|
||
|
+ int* colsout = &columns.data()[rowranges[l].start - lastshiftleft];
|
||
|
|
||
|
assert( rowranges[l - 1].end <=
|
||
|
rowranges[l].start - lastshiftleft );
|
||
|
|
||
|
while( l <= row )
|
||
|
{
|
||
|
- int shift = &values[rowranges[l].start] - valsout;
|
||
|
+ int shift = &values.data()[rowranges[l].start] - valsout;
|
||
|
|
||
|
#ifndef NDEBUG
|
||
|
Vec<REAL> tmpvals;
|
||
|
@@ -878,10 +878,10 @@ SparseStorage<REAL>::shiftRows( const in
|
||
|
#endif
|
||
|
if( rowranges[l].start != rowranges[l].end )
|
||
|
{
|
||
|
- valsout = std::move( &values[rowranges[l].start],
|
||
|
- &values[rowranges[l].end], valsout );
|
||
|
- colsout = std::move( &columns[rowranges[l].start],
|
||
|
- &columns[rowranges[l].end], colsout );
|
||
|
+ valsout = std::move( &values.data()[rowranges[l].start],
|
||
|
+ &values.data()[rowranges[l].end], valsout );
|
||
|
+ colsout = std::move( &columns.data()[rowranges[l].start],
|
||
|
+ &columns.data()[rowranges[l].end], colsout );
|
||
|
}
|
||
|
|
||
|
rowranges[l].start -= shift;
|
||
|
@@ -908,15 +908,15 @@ SparseStorage<REAL>::shiftRows( const in
|
||
|
// space
|
||
|
} while( rowranges[r].end == rowranges[r + 1].start );
|
||
|
|
||
|
- REAL* valsout = &values[rowranges[r].end + lastshiftright];
|
||
|
- int* colsout = &columns[rowranges[r].end + lastshiftright];
|
||
|
+ REAL* valsout = &values.data()[rowranges[r].end + lastshiftright];
|
||
|
+ int* colsout = &columns.data()[rowranges[r].end + lastshiftright];
|
||
|
|
||
|
assert( rowranges[r + 1].start >=
|
||
|
rowranges[r].end + lastshiftright );
|
||
|
|
||
|
while( r > row )
|
||
|
{
|
||
|
- int shift = valsout - &values[rowranges[r].end];
|
||
|
+ int shift = valsout - &values.data()[rowranges[r].end];
|
||
|
|
||
|
#ifndef NDEBUG
|
||
|
Vec<REAL> tmpvals;
|
||
|
@@ -929,11 +929,11 @@ SparseStorage<REAL>::shiftRows( const in
|
||
|
if( rowranges[r].start != rowranges[r].end )
|
||
|
{
|
||
|
valsout =
|
||
|
- std::move_backward( &values[rowranges[r].start],
|
||
|
- &values[rowranges[r].end], valsout );
|
||
|
+ std::move_backward( &values.data()[rowranges[r].start],
|
||
|
+ &values.data()[rowranges[r].end], valsout );
|
||
|
colsout =
|
||
|
- std::move_backward( &columns[rowranges[r].start],
|
||
|
- &columns[rowranges[r].end], colsout );
|
||
|
+ std::move_backward( &columns.data()[rowranges[r].start],
|
||
|
+ &columns.data()[rowranges[r].end], colsout );
|
||
|
}
|
||
|
|
||
|
rowranges[r].start += shift;
|