sparse_rect.h

来自「二维射线追踪地震层析成像」· C头文件 代码 · 共 49 行

H
49
字号
/* * sparse_rect.h - sparse rectangular matrix interface * * Jun Korenaga, MIT/WHOI * January 1999 */#ifndef _TOMO_SPARSE_RECT_H_#define _TOMO_SPARSE_RECT_H_#include <map>#include <array.h> // from mconvstruct SparseMatAux {    SparseMatAux(double d=1.0, const Array1d<int> *r=0,		 const Array1d<int> *c=0)	: scale_factor(d), p_row(r), p_col(c) {}        double scale_factor;    const Array1d<int> *p_row;    const Array1d<int> *p_col;};    class SparseRectangular {public:    typedef Array1d< map<int,double> > sparseMap;        SparseRectangular(){};    SparseRectangular(const sparseMap& A, int ncol=0);    SparseRectangular(const sparseMap& A, const Array1d<int>& r,		      const Array1d<int>& c, int ncol=0);    SparseRectangular(const Array1d<const sparseMap*>& As,		      const Array1d<SparseMatAux>& spec, int ncol=0);    int nRow() const { return nrow; }    int nCol() const { return ncol; }    void Ax(const Array1d<double>&, Array1d<double>&, bool init=true) const;    void Atx(const Array1d<double>&, Array1d<double>&, bool init=true) const;    void dump(const char*) const;    private:    int nrow, ncol;    Array1d<double> val;    Array1d<int> index_j;    Array1d<int> first_k;};#endif /* _TOMO_SPARSE_RECT_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?