Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00016
00017
00018
00026
00027 template<typename T1, typename T2>
00028 inline
00029 const Glue<T1, T2, glue_solve>
00030 solve
00031 (
00032 const Base<typename T1::elem_type,T1>& A,
00033 const Base<typename T1::elem_type,T2>& B,
00034 const bool slow = false,
00035 const typename arma_blas_type_only<typename T1::elem_type>::result* junk = 0
00036 )
00037 {
00038 arma_extra_debug_sigprint();
00039 arma_ignore(junk);
00040
00041 return Glue<T1, T2, glue_solve>(A.get_ref(), B.get_ref(), ((slow == false) ? 0 : 1) );
00042 }
00043
00044
00045
00046 template<typename T1, typename T2>
00047 inline
00048 const Glue<T1, T2, glue_solve_tr>
00049 solve
00050 (
00051 const Op<T1, op_trimat>& A,
00052 const Base<typename T1::elem_type,T2>& B,
00053 const bool slow = false,
00054 const typename arma_blas_type_only<typename T1::elem_type>::result* junk = 0
00055 )
00056 {
00057 arma_extra_debug_sigprint();
00058 arma_ignore(slow);
00059 arma_ignore(junk);
00060
00061 return Glue<T1, T2, glue_solve_tr>(A.m, B.get_ref(), A.aux_uword_a);
00062 }
00063
00064
00065
00066 template<typename T1, typename T2>
00067 inline
00068 bool
00069 solve
00070 (
00071 Mat<typename T1::elem_type>& out,
00072 const Base<typename T1::elem_type,T1>& A,
00073 const Base<typename T1::elem_type,T2>& B,
00074 const bool slow = false,
00075 const typename arma_blas_type_only<typename T1::elem_type>::result* junk = 0
00076 )
00077 {
00078 arma_extra_debug_sigprint();
00079 arma_ignore(junk);
00080
00081 try
00082 {
00083 out = solve( A.get_ref(), B.get_ref(), slow );
00084 }
00085 catch(std::runtime_error&)
00086 {
00087 return false;
00088 }
00089
00090 return true;
00091 }
00092
00093
00094