diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-11-09 12:03:20 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-11-09 12:03:20 +0100 |
commit | c810d14d4d595f6a9e748f625ddb419bb91b8262 (patch) | |
tree | e8135aef975e7e2850c2ae785a4026c223b227eb | |
parent | 39477e697a2248e731ed5b197be963e2f4a41c99 (diff) |
add missing specialization
-rw-r--r-- | Eigen/src/Core/SolveTriangular.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Eigen/src/Core/SolveTriangular.h b/Eigen/src/Core/SolveTriangular.h index d85f967cb..63f08e9fb 100644 --- a/Eigen/src/Core/SolveTriangular.h +++ b/Eigen/src/Core/SolveTriangular.h @@ -153,6 +153,19 @@ struct triangular_solver_selector<Lhs,Rhs,OnTheLeft,Mode,CompleteUnrolling,1> { { triangular_solver_unroller<Lhs,Rhs,Mode,0,Rhs::SizeAtCompileTime>::run(lhs,rhs); } }; +template<typename Lhs, typename Rhs, int Mode> +struct triangular_solver_selector<Lhs,Rhs,OnTheRight,Mode,CompleteUnrolling,1> { + static void run(const Lhs& lhs, Rhs& rhs) + { + Transpose<Lhs> trLhs(lhs); + Transpose<Rhs> trRhs(rhs); + + triangular_solver_unroller<Transpose<Lhs>,Transpose<Rhs>, + ((Mode&Upper)==Upper ? Lower : Upper) | (Mode&UnitDiag), + 0,Rhs::SizeAtCompileTime>::run(trLhs,trRhs); + } +}; + } // end namespace internal /*************************************************************************** |