"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "include/armadillo_bits/fn_inv.hpp" between
armadillo-10.8.2.tar.xz and armadillo-11.0.0.tar.xz

About: Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use.

fn_inv.hpp  (armadillo-10.8.2.tar.xz):fn_inv.hpp  (armadillo-11.0.0.tar.xz)
skipping to change at line 24 skipping to change at line 24
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
//! \addtogroup fn_inv //! \addtogroup fn_inv
//! @{ //! @{
template<typename T1> template<typename T1>
arma_warn_unused arma_warn_unused
arma_inline arma_inline
typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, cons t Op<T1, op_inv> >::result typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, cons t Op<T1, op_inv_gen_default> >::result
inv inv
( (
const Base<typename T1::elem_type,T1>& X const Base<typename T1::elem_type,T1>& X
) )
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
return Op<T1, op_inv>(X.get_ref()); return Op<T1, op_inv_gen_default>(X.get_ref());
} }
template<typename T1> template<typename T1>
inline inline
typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, bool >::result typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, bool >::result
inv inv
( (
Mat<typename T1::elem_type>& out, Mat<typename T1::elem_type>& out,
const Base<typename T1::elem_type,T1>& X const Base<typename T1::elem_type,T1>& X
) )
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
const bool status = op_inv::apply_direct(out, X.get_ref(), "inv()"); const bool status = op_inv_gen_default::apply_direct(out, X.get_ref(), "inv()" );
if(status == false) if(status == false)
{ {
out.soft_reset(); out.soft_reset();
arma_debug_warn_level(3, "inv(): matrix is singular"); arma_debug_warn_level(3, "inv(): matrix is singular");
} }
return status; return status;
} }
template<typename T1> template<typename T1>
arma_warn_unused arma_warn_unused
arma_inline arma_inline
typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, cons typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, cons
t Op<T1, op_inv_sympd> >::result t Op<T1, op_inv_gen_full> >::result
inv_sympd inv
( (
const Base<typename T1::elem_type, T1>& X const Base<typename T1::elem_type,T1>& X,
const inv_opts::opts& opts
) )
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
return Op<T1, op_inv_sympd>(X.get_ref()); return Op<T1, op_inv_gen_full>(X.get_ref(), opts.flags, uword(0));
} }
template<typename T1> template<typename T1>
inline inline
typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, bool >::result typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, bool >::result
inv_sympd inv
( (
Mat<typename T1::elem_type>& out, Mat<typename T1::elem_type>& out,
const Base<typename T1::elem_type,T1>& X const Base<typename T1::elem_type,T1>& X,
const inv_opts::opts& opts
) )
{ {
arma_extra_debug_sigprint(); arma_extra_debug_sigprint();
const bool status = op_inv_sympd::apply_direct(out, X.get_ref()); const bool status = op_inv_gen_full::apply_direct(out, X.get_ref(), "inv()", o pts.flags);
if(status == false) if(status == false)
{ {
out.soft_reset(); out.soft_reset();
arma_debug_warn_level(3, "inv_sympd(): matrix is singular or not positive de arma_debug_warn_level(3, "inv(): matrix is singular");
finite"); }
return status;
}
template<typename T1>
inline
typename enable_if2< is_supported_blas_type<typename T1::elem_type>::value, bool
>::result
inv
(
Mat<typename T1::elem_type>& out_inv,
typename T1::pod_type& out_rcond,
const Base<typename T1::elem_type,T1>& X
)
{
arma_extra_debug_sigprint();
const bool status = op_inv_gen_rcond::apply_direct(out_inv, out_rcond, X.get_r
ef());
if(status == false)
{
out_inv.soft_reset();
arma_debug_warn_level(3, "inv(): matrix is singular");
} }
return status; return status;
} }
//! @} //! @}
 End of changes. 10 change blocks. 
13 lines changed or deleted 39 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)