$search
00001 // Copyright (C) 2008-2010 NICTA (www.nicta.com.au) 00002 // Copyright (C) 2008-2010 Conrad Sanderson 00003 // 00004 // This file is part of the Armadillo C++ library. 00005 // It is provided without any warranty of fitness 00006 // for any purpose. You can redistribute this file 00007 // and/or modify it under the terms of the GNU 00008 // Lesser General Public License (LGPL) as published 00009 // by the Free Software Foundation, either version 3 00010 // of the License or (at your option) any later version. 00011 // (see http://www.opensource.org/licenses for more info) 00012 00013 00014 using std::cout; 00015 using std::cerr; 00016 using std::endl; 00017 using std::ios; 00018 00019 template<typename eT> class Mat; 00020 template<typename eT> class Col; 00021 template<typename eT> class Row; 00022 template<typename eT> class Cube; 00023 template<typename oT> class field; 00024 00025 template<typename eT> class subview; 00026 template<typename eT> class subview_col; 00027 template<typename eT> class subview_row; 00028 template<typename eT> class subview_cube; 00029 template<typename oT> class subview_field; 00030 00031 template<typename eT> class diagview; 00032 00033 template<typename eT, typename T1> class subview_elem1; 00034 template<typename eT, typename T1, typename T2> class subview_elem2; 00035 00036 00037 class arma_empty_class {}; 00038 00039 class diskio; 00040 00041 class op_min; 00042 class op_max; 00043 00044 class op_strans; 00045 class op_htrans; 00046 class op_inv; 00047 class op_sum; 00048 class op_abs; 00049 class op_diagmat; 00050 class op_trimat; 00051 00052 class eop_conj; 00053 00054 class glue_times; 00055 class glue_times_diag; 00056 00057 class glue_rel_lt; 00058 class glue_rel_gt; 00059 class glue_rel_lteq; 00060 class glue_rel_gteq; 00061 class glue_rel_eq; 00062 class glue_rel_noteq; 00063 00064 class op_rel_lt_pre; 00065 class op_rel_lt_post; 00066 class op_rel_gt_pre; 00067 class op_rel_gt_post; 00068 class op_rel_lteq_pre; 00069 class op_rel_lteq_post; 00070 class op_rel_gteq_pre; 00071 class op_rel_gteq_post; 00072 class op_rel_eq; 00073 class op_rel_noteq; 00074 00075 class gen_ones_diag; 00076 class gen_ones_full; 00077 class gen_zeros; 00078 class gen_randu; 00079 class gen_randn; 00080 00081 00082 template<const bool, const bool, const bool, const bool> class gemm; 00083 template<const bool, const bool, const bool> class gemv; 00084 00085 00086 template< typename eT, typename gen_type> class Gen; 00087 00088 template< typename T1, typename op_type> class Op; 00089 template< typename T1, typename eop_type> class eOp; 00090 template<typename out_eT, typename T1, typename op_type> class mtOp; 00091 00092 template< typename T1, typename T2, typename glue_type> class Glue; 00093 template< typename T1, typename T2, typename eglue_type> class eGlue; 00094 template<typename out_eT, typename T1, typename T2, typename glue_type> class mtGlue; 00095 00096 00097 00098 template< typename eT, typename gen_type> class GenCube; 00099 00100 template< typename T1, typename op_type> class OpCube; 00101 template< typename T1, typename eop_type> class eOpCube; 00102 template<typename out_eT, typename T1, typename op_type> class mtOpCube; 00103 00104 template< typename T1, typename T2, typename glue_type> class GlueCube; 00105 template< typename T1, typename T2, typename eglue_type> class eGlueCube; 00106 template<typename out_eT, typename T1, typename T2, typename glue_type> class mtGlueCube; 00107 00108 00109 template<typename T1> class Proxy; 00110 template<typename T1> class ProxyCube; 00111 00112 00113 00116 00117 00118 struct injector_end_of_row {}; 00119 00120 static const injector_end_of_row endr = injector_end_of_row(); 00123 00125 00126 00127 00130 00131 00132 enum file_type 00133 { 00134 file_type_unknown, 00135 auto_detect, 00136 raw_ascii, 00137 arma_ascii, 00138 csv_ascii, 00139 raw_binary, 00140 arma_binary, 00141 pgm_binary, 00142 ppm_binary 00143 }; 00144 00145 00147 00148