aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/SparseLU/SparseLU_column_bmod.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2012-07-29 22:26:00 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2012-07-29 22:26:00 +0200
commit8f6d5eacb4af8fc31301625652a5017e6c2e50eb (patch)
treeb3d0fd50370dcba4631ed51cb33bc6123c6e3d54 /Eigen/src/SparseLU/SparseLU_column_bmod.h
parentce30d50e3ed9723ed3ecd38e7c99661730c12813 (diff)
optimize LU_kernel_bmod for small cases, and add an important .noalias()
Diffstat (limited to 'Eigen/src/SparseLU/SparseLU_column_bmod.h')
-rw-r--r--Eigen/src/SparseLU/SparseLU_column_bmod.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/Eigen/src/SparseLU/SparseLU_column_bmod.h b/Eigen/src/SparseLU/SparseLU_column_bmod.h
index 1457b6f35..5c26bd70e 100644
--- a/Eigen/src/SparseLU/SparseLU_column_bmod.h
+++ b/Eigen/src/SparseLU/SparseLU_column_bmod.h
@@ -122,7 +122,10 @@ int LU_column_bmod(const int jcol, const int nseg, BlockScalarVector& dense, Sca
// Perform a triangular solver and block update,
// then scatter the result of sup-col update to dense
no_zeros = kfnz - fst_col;
- LU_kernel_bmod(segsize, dense, tempv, lusup, luptr, nsupr, nrow, lsub, lptr, no_zeros);
+ if(segsize==1)
+ LU_kernel_bmod<1>::run(segsize, dense, tempv, lusup, luptr, nsupr, nrow, lsub, lptr, no_zeros);
+ else
+ LU_kernel_bmod<Dynamic>::run(segsize, dense, tempv, lusup, luptr, nsupr, nrow, lsub, lptr, no_zeros);
} // end if jsupno
} // end for each segment