Debug

Namespaces

namespace  junk

Functions

template<typename T1 >
void arma_cold arma_stop (const T1 &x)
 print a message to std::cout and/or throw a run-time error exception
void arma_cold arma_print ()
template<typename T1 >
void arma_cold arma_print (const T1 &x)
template<typename T1 , typename T2 >
void arma_cold arma_print (const T1 &x, const T2 &y)
template<typename T1 , typename T2 , typename T3 >
void arma_cold arma_print (const T1 &x, const T2 &y, const T3 &z)
void arma_sigprint (const char *x)
 print a message on cout, with a preceding @ character. used for printing the signature of a function (see the arma_extra_debug_sigprint macro)
void arma_bktprint ()
template<typename T1 >
void arma_bktprint (const T1 &x)
template<typename T1 , typename T2 >
void arma_bktprint (const T1 &x, const T2 &y)
void arma_thisprint (void *this_ptr)
template<typename T1 >
void arma_hot arma_warn (const bool state, const T1 &x)
 if state is true, print a message on cout
template<typename T1 , typename T2 >
void arma_hot arma_warn (const bool state, const T1 &x, const T2 &y)
template<typename T1 >
void arma_hot arma_check (const bool state, const T1 &x)
 if state is true, abort program
template<typename T1 , typename T2 >
void arma_hot arma_check (const bool state, const T1 &x, const T2 &y)
std::string arma_cold arma_incompat_size_string (const u32 A_n_rows, const u32 A_n_cols, const u32 B_n_rows, const u32 B_n_cols, const char *x)
void arma_hot arma_assert_same_size (const u32 A_n_rows, const u32 A_n_cols, const u32 B_n_rows, const u32 B_n_cols, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Mat< eT1 > &A, const Mat< eT2 > &B, const char *x)
 stop if given matrices have different sizes
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Proxy< eT1 > &A, const Proxy< eT2 > &B, const char *x)
 stop if given proxies have different sizes
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const subview< eT1 > &A, const subview< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Mat< eT1 > &A, const subview< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const subview< eT1 > &A, const Mat< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Mat< eT1 > &A, const Proxy< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Proxy< eT1 > &A, const Mat< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Proxy< eT1 > &A, const subview< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const subview< eT1 > &A, const Proxy< eT2 > &B, const char *x)
arma_cold std::string arma_incompat_size_string (const u32 A_n_rows, const u32 A_n_cols, const u32 A_n_slices, const u32 B_n_rows, const u32 B_n_cols, const u32 B_n_slices, const char *x)
void arma_hot arma_assert_same_size (const u32 A_n_rows, const u32 A_n_cols, const u32 A_n_slices, const u32 B_n_rows, const u32 B_n_cols, const u32 B_n_slices, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Cube< eT1 > &A, const Cube< eT2 > &B, const char *x)
 stop if given cubes have different sizes
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Cube< eT1 > &A, const subview_cube< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const subview_cube< eT1 > &A, const Cube< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const subview_cube< eT1 > &A, const subview_cube< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const ProxyCube< eT1 > &A, const ProxyCube< eT2 > &B, const char *x)
 stop if given cube proxies have different sizes
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Cube< eT1 > &A, const Mat< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Mat< eT1 > &A, const Cube< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const subview_cube< eT1 > &A, const Mat< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size (const Mat< eT1 > &A, const subview_cube< eT2 > &B, const char *x)
void arma_hot arma_assert_mul_size (const u32 A_n_rows, const u32 A_n_cols, const u32 B_n_rows, const u32 B_n_cols, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size (const Mat< eT1 > &A, const Mat< eT2 > &B, const char *x)
 stop if given matrices are incompatible for multiplication
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size (const Mat< eT1 > &A, const Mat< eT2 > &B, const bool do_trans_A, const bool do_trans_B, const char *x)
 stop if given matrices are incompatible for multiplication
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size (const Mat< eT1 > &A, const subview< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size (const subview< eT1 > &A, const Mat< eT2 > &B, const char *x)
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size (const subview< eT1 > &A, const subview< eT2 > &B, const char *x)

Function Documentation

template<typename T1 >
void arma_cold arma_stop ( const T1 &  x  )  [inline]
void arma_cold arma_print (  )  [inline]
template<typename T1 >
void arma_cold arma_print ( const T1 &  x  )  [inline]

Definition at line 61 of file debug.hpp.

00062   {
00063   std::cout << x << std::endl;
00064   }

template<typename T1 , typename T2 >
void arma_cold arma_print ( const T1 &  x,
const T2 &  y 
) [inline]

Definition at line 72 of file debug.hpp.

00073   {
00074   std::cout << x << y << std::endl;
00075   }

template<typename T1 , typename T2 , typename T3 >
void arma_cold arma_print ( const T1 &  x,
const T2 &  y,
const T3 &  z 
) [inline]

Definition at line 83 of file debug.hpp.

00084   {
00085   std::cout << x << y << z << std::endl;
00086   }

void arma_sigprint ( const char *  x  )  [inline]

print a message on cout, with a preceding @ character. used for printing the signature of a function (see the arma_extra_debug_sigprint macro)

Definition at line 101 of file debug.hpp.

00102   {
00103   std::cout << "@ " << x;
00104   }

void arma_bktprint (  )  [inline]

Definition at line 114 of file debug.hpp.

00115   {
00116   std::cout << std::endl;
00117   }

template<typename T1 >
void arma_bktprint ( const T1 &  x  )  [inline]

Definition at line 123 of file debug.hpp.

00124   {
00125   std::cout << " [" << x << ']' << std::endl;
00126   }

template<typename T1 , typename T2 >
void arma_bktprint ( const T1 &  x,
const T2 &  y 
) [inline]

Definition at line 133 of file debug.hpp.

00134   {
00135   std::cout << " [" << x << y << ']' << std::endl;
00136   }

void arma_thisprint ( void *  this_ptr  )  [inline]

Definition at line 149 of file debug.hpp.

00150   {
00151   std::cout << " [this = " << this_ptr << ']' << std::endl;
00152   }

template<typename T1 >
void arma_hot arma_warn ( const bool  state,
const T1 &  x 
) [inline]

if state is true, print a message on cout

Definition at line 164 of file debug.hpp.

References arma_print().

Referenced by op_inv::apply(), det(), Mat< eT >::load(), Cube< eT >::load(), Mat< eT >::save(), and Cube< eT >::save().

00165   {
00166   if(state==true)
00167     {
00168     arma_print(x);
00169     }
00170   }

template<typename T1 , typename T2 >
void arma_hot arma_warn ( const bool  state,
const T1 &  x,
const T2 &  y 
) [inline]

Definition at line 177 of file debug.hpp.

References arma_print().

00178   {
00179   if(state==true)
00180     {
00181     arma_print(x,y);
00182     }
00183   }

template<typename T1 >
void arma_hot arma_check ( const bool  state,
const T1 &  x 
) [inline]
template<typename T1 , typename T2 >
void arma_hot arma_check ( const bool  state,
const T1 &  x,
const T2 &  y 
) [inline]

Definition at line 210 of file debug.hpp.

References arma_stop().

00211   {
00212   if(state==true)
00213     {
00214     arma_stop( std::string(x) + std::string(y) );
00215     }
00216   }

std::string arma_cold arma_incompat_size_string ( const u32  A_n_rows,
const u32  A_n_cols,
const u32  B_n_rows,
const u32  B_n_cols,
const char *  x 
) [inline]

Definition at line 231 of file debug.hpp.

Referenced by arma_assert_mul_size(), and arma_assert_same_size().

00232   {
00233   std::stringstream tmp;
00234   
00235   tmp << x << ": incompatible matrix dimensions: (" << A_n_rows << ',' << A_n_cols << ") and (" << B_n_rows << ',' << B_n_cols << ')';
00236   
00237   return tmp.str();
00238   }

void arma_hot arma_assert_same_size ( const u32  A_n_rows,
const u32  A_n_cols,
const u32  B_n_rows,
const u32  B_n_cols,
const char *  x 
) [inline]
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Mat< eT1 > &  A,
const Mat< eT2 > &  B,
const char *  x 
) [inline]

stop if given matrices have different sizes

Definition at line 260 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, and Mat< eT >::n_rows.

00261   {
00262   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00263     {
00264     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00265     }
00266   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Proxy< eT1 > &  A,
const Proxy< eT2 > &  B,
const char *  x 
) [inline]

stop if given proxies have different sizes

Definition at line 275 of file debug.hpp.

References arma_incompat_size_string(), and arma_stop().

00276   {
00277   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00278     {
00279     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00280     }
00281   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const subview< eT1 > &  A,
const subview< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 289 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), subview< eT >::n_cols, and subview< eT >::n_rows.

00290   {
00291   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00292     {
00293     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00294     }
00295   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Mat< eT1 > &  A,
const subview< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 303 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), subview< eT >::n_cols, Mat< eT >::n_cols, subview< eT >::n_rows, and Mat< eT >::n_rows.

00304   {
00305   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00306     {
00307     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00308     }
00309   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const subview< eT1 > &  A,
const Mat< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 317 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, subview< eT >::n_cols, Mat< eT >::n_rows, and subview< eT >::n_rows.

00318   {
00319   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00320     {
00321     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00322     }
00323   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Mat< eT1 > &  A,
const Proxy< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 331 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, and Mat< eT >::n_rows.

00332   {
00333   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00334     {
00335     arma_stop ( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00336     }
00337   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Proxy< eT1 > &  A,
const Mat< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 345 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, and Mat< eT >::n_rows.

00346   {
00347   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00348     {
00349     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00350     }
00351   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Proxy< eT1 > &  A,
const subview< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 359 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), subview< eT >::n_cols, and subview< eT >::n_rows.

00360   {
00361   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00362     {
00363     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00364     }
00365   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const subview< eT1 > &  A,
const Proxy< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 373 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), subview< eT >::n_cols, and subview< eT >::n_rows.

00374   {
00375   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) )
00376     {
00377     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00378     }
00379   }

arma_cold std::string arma_incompat_size_string ( const u32  A_n_rows,
const u32  A_n_cols,
const u32  A_n_slices,
const u32  B_n_rows,
const u32  B_n_cols,
const u32  B_n_slices,
const char *  x 
) [inline]

Definition at line 391 of file debug.hpp.

00392   {
00393   std::stringstream tmp;
00394   
00395   tmp << x << ": incompatible cube dimensions: (" << A_n_rows << ',' << A_n_cols << ',' << A_n_slices << ") and (" << B_n_rows << ',' << B_n_cols << ',' << B_n_slices << ')';
00396   
00397   return tmp.str();
00398   }

void arma_hot arma_assert_same_size ( const u32  A_n_rows,
const u32  A_n_cols,
const u32  A_n_slices,
const u32  B_n_rows,
const u32  B_n_cols,
const u32  B_n_slices,
const char *  x 
) [inline]

Definition at line 405 of file debug.hpp.

References arma_incompat_size_string(), and arma_stop().

00406   {
00407   if( (A_n_rows != B_n_rows) || (A_n_cols != B_n_cols) || (A_n_slices != B_n_slices) )
00408     {
00409     arma_stop( arma_incompat_size_string(A_n_rows, A_n_cols, A_n_slices, B_n_rows, B_n_cols, B_n_slices, x) );
00410     }
00411   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Cube< eT1 > &  A,
const Cube< eT2 > &  B,
const char *  x 
) [inline]

stop if given cubes have different sizes

Definition at line 420 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Cube< eT >::n_cols, Cube< eT >::n_rows, and Cube< eT >::n_slices.

00421   {
00422   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) || (A.n_slices != B.n_slices) )
00423     {
00424     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, A.n_slices, B.n_rows, B.n_cols, B.n_slices, x) );
00425     }
00426   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Cube< eT1 > &  A,
const subview_cube< eT2 > &  B,
const char *  x 
) [inline]
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const subview_cube< eT1 > &  A,
const Cube< eT2 > &  B,
const char *  x 
) [inline]
template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const subview_cube< eT1 > &  A,
const subview_cube< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 462 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), subview_cube< eT >::n_cols, subview_cube< eT >::n_rows, and subview_cube< eT >::n_slices.

00463   {
00464   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) || (A.n_slices != B.n_slices))
00465     {
00466     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, A.n_slices, B.n_rows, B.n_cols, B.n_slices, x) );
00467     }
00468   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const ProxyCube< eT1 > &  A,
const ProxyCube< eT2 > &  B,
const char *  x 
) [inline]

stop if given cube proxies have different sizes

Definition at line 477 of file debug.hpp.

References arma_incompat_size_string(), and arma_stop().

00478   {
00479   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) || (A.n_slices != B.n_slices))
00480     {
00481     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, A.n_slices, B.n_rows, B.n_cols, B.n_slices, x) );
00482     }
00483   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Cube< eT1 > &  A,
const Mat< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 496 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, Cube< eT >::n_cols, Mat< eT >::n_rows, Cube< eT >::n_rows, and Cube< eT >::n_slices.

00497   {
00498   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) || (A.n_slices != 1) )
00499     {
00500     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, A.n_slices, B.n_rows, B.n_cols, 1, x) );
00501     }
00502   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Mat< eT1 > &  A,
const Cube< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 510 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Cube< eT >::n_cols, Mat< eT >::n_cols, Cube< eT >::n_rows, Mat< eT >::n_rows, and Cube< eT >::n_slices.

00511   {
00512   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) || (1 != B.n_slices) )
00513     {
00514     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, 1, B.n_rows, B.n_cols, B.n_slices, x) );
00515     }
00516   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const subview_cube< eT1 > &  A,
const Mat< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 524 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, subview_cube< eT >::n_cols, Mat< eT >::n_rows, subview_cube< eT >::n_rows, and subview_cube< eT >::n_slices.

00525   {
00526   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) || (A.n_slices != 1) )
00527     {
00528     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, A.n_slices, B.n_rows, B.n_cols, 1, x) );
00529     }
00530   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_same_size ( const Mat< eT1 > &  A,
const subview_cube< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 538 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), subview_cube< eT >::n_cols, Mat< eT >::n_cols, subview_cube< eT >::n_rows, Mat< eT >::n_rows, and subview_cube< eT >::n_slices.

00539   {
00540   if( (A.n_rows != B.n_rows) || (A.n_cols != B.n_cols) || (1 != B.n_slices) )
00541     {
00542     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, 1, B.n_rows, B.n_cols, B.n_slices, x) );
00543     }
00544   }

void arma_hot arma_assert_mul_size ( const u32  A_n_rows,
const u32  A_n_cols,
const u32  B_n_rows,
const u32  B_n_cols,
const char *  x 
) [inline]

Definition at line 556 of file debug.hpp.

References arma_incompat_size_string(), and arma_stop().

00557   {
00558   if(A_n_cols != B_n_rows)
00559     {
00560     arma_stop( arma_incompat_size_string(A_n_rows, A_n_cols, B_n_rows, B_n_cols, x) );
00561     }
00562   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size ( const Mat< eT1 > &  A,
const Mat< eT2 > &  B,
const char *  x 
) [inline]

stop if given matrices are incompatible for multiplication

Definition at line 571 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, and Mat< eT >::n_rows.

00572   {
00573   if(A.n_cols != B.n_rows)
00574     {
00575     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00576     }
00577   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size ( const Mat< eT1 > &  A,
const Mat< eT2 > &  B,
const bool  do_trans_A,
const bool  do_trans_B,
const char *  x 
) [inline]

stop if given matrices are incompatible for multiplication

Definition at line 586 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, and Mat< eT >::n_rows.

00587   {
00588   const u32 final_A_n_cols = (do_trans_A == false) ? A.n_cols : A.n_rows;
00589   const u32 final_B_n_rows = (do_trans_B == false) ? B.n_rows : B.n_cols;
00590     
00591   if(final_A_n_cols != final_B_n_rows)
00592     {
00593     const u32 final_A_n_rows = (do_trans_A == false) ? A.n_rows : A.n_cols;
00594     const u32 final_B_n_cols = (do_trans_B == false) ? B.n_cols : B.n_rows;
00595     
00596     arma_stop( arma_incompat_size_string(final_A_n_rows, final_A_n_cols, final_B_n_rows, final_B_n_cols, x) );
00597     }
00598   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size ( const Mat< eT1 > &  A,
const subview< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 606 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), subview< eT >::n_cols, Mat< eT >::n_cols, Mat< eT >::n_rows, and subview< eT >::n_rows.

00607   {
00608   if(A.n_cols != B.n_rows)
00609     {
00610     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00611     }
00612   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size ( const subview< eT1 > &  A,
const Mat< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 620 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), Mat< eT >::n_cols, subview< eT >::n_cols, subview< eT >::n_rows, and Mat< eT >::n_rows.

00621   {
00622   if(A.n_cols != B.n_rows)
00623     {
00624     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00625     }
00626   }

template<typename eT1 , typename eT2 >
void arma_hot arma_assert_mul_size ( const subview< eT1 > &  A,
const subview< eT2 > &  B,
const char *  x 
) [inline]

Definition at line 634 of file debug.hpp.

References arma_incompat_size_string(), arma_stop(), subview< eT >::n_cols, and subview< eT >::n_rows.

00635   {
00636   if(A.n_cols != B.n_rows)
00637     {
00638     arma_stop( arma_incompat_size_string(A.n_rows, A.n_cols, B.n_rows, B.n_cols, x) );
00639     }
00640   }