Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00016
00017
00018
00020 class op_var
00021 {
00022 public:
00023
00024 template<typename eT>
00025 inline static eT direct_var(const eT* const X, const uword N, const uword norm_type = 0);
00026
00027 template<typename T>
00028 inline static T direct_var(const std::complex<T>* const X, const uword N, const uword norm_type = 0);
00029
00030
00031 template<typename eT>
00032 inline static typename get_pod_type<eT>::result direct_var(const subview_row<eT>& X, const uword norm_type = 0);
00033
00034 template<typename eT>
00035 inline static typename get_pod_type<eT>::result direct_var(const subview_col<eT>& X, const uword norm_type = 0);
00036
00037 template<typename eT>
00038 inline static typename get_pod_type<eT>::result direct_var(const diagview<eT>& X, const uword norm_type = 0);
00039
00040
00041 template<typename T1>
00042 inline static void apply(Mat<typename T1::pod_type>& out, const mtOp<typename T1::pod_type, T1, op_var>& in);
00043
00044
00045 template<typename eT>
00046 inline static eT direct_var_robust(const eT* const X, const uword N, const uword norm_type = 0);
00047
00048 template<typename T>
00049 inline static T direct_var_robust(const std::complex<T>* const X, const uword N, const uword norm_type = 0);
00050 };
00051
00052
00053