亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tiny.h

?? 高效的c++科學算法庫
?? H
字號:
#ifndef SL_MATRIX_MEMORY_TINY_H#define SL_MATRIX_MEMORY_TINY_H/* ****************************** * Scientific Library (GNU Public Licence) * * Author: Laurent Deniau, Laurent.Deniau@cern.ch * * $Id: tiny.h,v 1.2 1998/11/12 16:17:36 paubert Exp $ * * Suggestions: sl@mathinsa.insa-lyon.fr * Bugs:   sl-bugs@mathinsa.insa-lyon.fr * * For more information, please see the sl++ Home Page: * http://wwwinfo.cern.ch/~ldeniau/sl.html * ****************************** */#ifndef SL_MATRIX_MEMORY_H#error <sl/matrix/memory/tiny.h> must be included via <sl/matrix/memory.h>#endif#ifdef HAVE_NAMESPACEnamespace sl {#endif/*  WARNING:  These classes MUST use the default copy constructor*/    template <typename T_value, size_t N>        class TinyMemBlock {          public:        typedef T_value value_t;        value_t * base () { return &my_b[0]; }        value_t const* const_base() const { return &my_b[0]; }          protected:          // WARNING: Do NOT declare the copy constructor !            protected:        template <typename T2_value>            void            set (size_t const n, T2_value const x) {            for(size_t i=0;i<N;i++)                my_b[i] = x;        }        template <typename T2_value>            void            copy (size_t const n, T2_value /* const */ * t) {            assert( n <= N );            for(size_t i=0;i<N;i++)                my_b[i] = t[i];        }        void            resize (size_t const n) {            assert ( !"TinyMemBlock cannot be resized" );        }          private:        value_t my_b[N];    };// Should disappear when egcs will support template typedef    template <typename T_value =Real, size_t N =4>        class TinyVector :        public Matrix<T_value, TVector, TinyMemBlock<T_value, N> > {            public:            typedef T_value                    value_t;            typedef TVector                structure_t;            typedef TinyMemBlock<T_value, N> storage_t;            typedef TVector::iterator_t iterator_t;            public:            explicit            TinyVector () : Matrix<value_t,structure_t,storage_t>() {                TVector::resize(N,1);                this->my_d = storage_t::base()-structure_t::offset();            }            public:              // TinyVector = Scalar or List Initializer            ListInit<TinyVector>            operator = (T_value const x) {                return ListInit<TinyVector> (*this, x);            }              // TinyVector = Range, for TVector only            TinyVector&            operator = (Range const& r) {                structure_t::resize(r.size());                initialize(this->my_d, r);                return *this;            }              // TinyVector = LoopIndex has no sense...              // TinyVector = TinyVector            TinyVector&            operator = (TinyVector const& v) {                if (this == &v) return *this;                 structure_t::resize(v.rows(), v.cols());                storage_t::copy(structure_t::size(),v.const_base());                return *this;            }              // TinyVector = TinyVector, different value, same structure            template <typename T2_value>            TinyVector&            operator = (TinyVector<T2_value> const& v) {                resize(v.rows(), v.col());                storage_t::copy(structure_t::size(), v.const_base());                return *this;            }              // TinyVector = Matrix            template <typename T2_value, typename T2_structure, typename T2_storage>            TinyVector&            operator = (Matrix<T2_value, T2_structure, T2_storage> const& m) {                typedef Matrix<T2_value, T2_structure, T2_storage> expr_t1;                typedef MatrixExpr<expr_t1> expr_t;                resize(m.rows(), m.cols());                iterator_t iter(this);                while(iter) {                    this->my_d[iter.pos()] = m.get(iter.row(), iter.col());                    ++iter;                }                return *this;            }              // Matrix = Matrix Expression, NO check for aliasing !            template <typename T_expr>            TinyVector&            operator = (MatrixExpr<T_expr> e) {                e.preEval();                resize(e.rows(), e.cols());                iterator_t iter(this);                while(iter) {                    this->my_d[iter.pos()] = e.get(iter.row(), iter.col());                    ++iter;                }                e.postEval();                return *this;            }        };    template <typename T_value =Real, size_t N =4, size_t P =4,        typename T_structure =RowMajor>        class TinyMatrix :        public Matrix<T_value, T_structure, TinyMemBlock<T_value, N*P> > {            public:            typedef T_value                      value_t;            typedef T_structure              structure_t;            typedef TinyMemBlock<T_value, N*P> storage_t;            typedef typename T_structure::iterator_t iterator_t;            public:            explicit            TinyMatrix () : Matrix<value_t,structure_t,storage_t>() {                T_structure::resize(N,P);                this->my_d = storage_t::base()-structure_t::offset();             }            public:              // TinyMatrix = Scalar or List Initializer            ListInit<TinyMatrix>            operator = (T_value const x) {                return ListInit<TinyMatrix> (*this, x);            }              // TinyMatrix = LoopIndex has no sense...              // TinyMatrix = TinyMatrix            TinyMatrix&            operator = (TinyMatrix const& m) {                if (this == &m) return *this;                 resize(m.rows(), m.cols());                storage_t::copy(structure_t::size(),m.const_base());                return *this;            }              // TinyMatrix = TinyMatrix, different value, same structure            template <typename T2_value>            TinyMatrix&            operator = (TinyMatrix<T2_value> const& m) {                resize(m.rows(), m.col());                storage_t::copy(structure_t::size(), m.const_base());                return *this;            }              // TinyMatrix = Matrix            template <typename T2_value, typename T2_structure, typename T2_storage>            TinyMatrix&            operator = (Matrix<T2_value, T2_structure, T2_storage> const& m) {                typedef Matrix<T2_value, T2_structure, T2_storage> expr_t1;                typedef MatrixExpr<expr_t1> expr_t;                resize(m.rows(), m.cols());                iterator_t iter(this);                while(iter) {                     this->my_d[iter.pos()] = m.get(iter.row(), iter.col());                    ++iter;                }                return *this;            }              // Matrix = Matrix Expression, NO check for aliasing !            template <typename T_expr>            TinyMatrix&            operator = (MatrixExpr<T_expr> e) {                e.preEval();                resize(e.rows(), e.cols());                iterator_t iter(this);                while(iter) {                    this->my_d[iter.pos()] = e.get(iter.row(), iter.col());                    ++iter;                }                e.postEval();                return *this;            }        };#ifdef HAVE_NAMESPACE}#endif #endif// SL_MATRIX_MEMORY_TINY_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草原综合久久大伊人精品| caoporn国产精品| 粉嫩av一区二区三区| 欧美日韩一区国产| 亚洲国产成人一区二区三区| 亚洲国产日韩综合久久精品| 成人黄色777网| 亚洲精品在线电影| 五月天丁香久久| 色一情一伦一子一伦一区| 久久久久9999亚洲精品| 久久国产精品99精品国产| 欧美日韩一区 二区 三区 久久精品| 久久久久久麻豆| 精品一区二区av| 91精品在线免费观看| 亚洲综合在线五月| 91丨九色丨尤物| 中文字幕日韩一区| 粉嫩一区二区三区在线看| 久久亚洲综合色| 精品夜夜嗨av一区二区三区| 精品日韩欧美在线| 美美哒免费高清在线观看视频一区二区| 91久久免费观看| 亚洲欧美日韩成人高清在线一区| 成人精品小蝌蚪| 中文无字幕一区二区三区 | 国产馆精品极品| 欧美不卡一区二区三区| 久久不见久久见中文字幕免费| 91.麻豆视频| 奇米一区二区三区av| 欧美精品九九99久久| 日日夜夜精品视频免费| 日韩欧美在线1卡| 麻豆精品视频在线观看| 精品免费视频.| 国产传媒欧美日韩成人| 国产精品欧美极品| 色悠悠亚洲一区二区| 亚洲一卡二卡三卡四卡五卡| 欧美日韩亚洲高清一区二区| 婷婷丁香激情综合| 日韩一区二区中文字幕| 国内精品伊人久久久久影院对白| 2021久久国产精品不只是精品| 国产一区二区调教| 综合中文字幕亚洲| 欧美区视频在线观看| 精品影院一区二区久久久| 亚洲精品在线观| 成人av在线播放网址| 一级女性全黄久久生活片免费| 911国产精品| 国产成人一级电影| 夜夜嗨av一区二区三区网页| 日韩欧美国产1| 99久久精品一区| 日韩一区精品字幕| 中文字幕不卡的av| 欧美精品丝袜久久久中文字幕| 国内精品在线播放| 亚洲一区二区欧美日韩| 久久精品视频一区二区三区| 欧美在线高清视频| 国产精品综合一区二区三区| 亚洲影院免费观看| 久久精品视频免费| 欧美剧在线免费观看网站| 国产成人av电影免费在线观看| 一区二区三区波多野结衣在线观看| 日韩视频在线永久播放| 91首页免费视频| 韩国欧美一区二区| 一区二区久久久久| 国产精品视频一区二区三区不卡| 欧美日韩成人综合在线一区二区| 粉嫩一区二区三区性色av| 午夜在线电影亚洲一区| 国产精品久久久久久久午夜片| 欧美日韩国产一级片| 99久久国产综合精品色伊| 激情小说亚洲一区| 日本不卡视频在线观看| 亚洲三级电影全部在线观看高清| 欧美精品一区二区三区一线天视频| 色吊一区二区三区| 成人午夜视频在线观看| 麻豆精品在线播放| 五月天亚洲婷婷| 一区二区三区成人| 亚洲图片另类小说| 欧美国产亚洲另类动漫| 2017欧美狠狠色| 欧美肥大bbwbbw高潮| 色偷偷一区二区三区| 97se狠狠狠综合亚洲狠狠| 国产精品一区二区三区网站| 日韩电影在线观看网站| 午夜电影网一区| 亚洲综合色噜噜狠狠| 亚洲欧美偷拍三级| 国产精品国产成人国产三级 | 欧美日韩免费一区二区三区视频| 99在线精品视频| 成人国产精品免费观看视频| 黄页网站大全一区二区| 精品一区免费av| 精品一区二区三区香蕉蜜桃 | 亚洲一区二区精品久久av| 中文字幕第一区| 国产精品三级av| 国产精品二三区| 亚洲欧洲日韩在线| 中文字幕亚洲精品在线观看| 国产精品久久久久久户外露出| 国产午夜精品在线观看| 国产精品丝袜91| 亚洲欧洲成人自拍| 亚洲视频一二区| 亚洲一区在线观看免费| 亚洲成人资源在线| 视频一区二区三区入口| 久久国产生活片100| 国产一区二区91| 成人午夜视频在线观看| 一本高清dvd不卡在线观看| 欧美亚洲国产一卡| 欧美精品自拍偷拍| 久久久久国产精品免费免费搜索| 国产精品嫩草久久久久| 一区二区三区不卡在线观看| 日韩精品电影一区亚洲| 国内精品伊人久久久久av一坑| 国产91丝袜在线观看| 色狠狠综合天天综合综合| 91麻豆精品国产综合久久久久久| 欧美成人国产一区二区| 中文字幕欧美激情一区| 亚洲精品国产a| 免费观看在线色综合| 高潮精品一区videoshd| 欧美中文字幕一二三区视频| 日韩三级av在线播放| 国产精品福利一区二区| 日韩影视精彩在线| a亚洲天堂av| 欧美一卡二卡三卡| 中文av一区特黄| 丝袜美腿亚洲一区二区图片| 国产精品1区2区3区在线观看| 一本一道久久a久久精品| 欧美一区2区视频在线观看| 国产精品美女www爽爽爽| 亚洲成在线观看| 成人精品国产免费网站| 欧美一级欧美一级在线播放| 国产精品不卡一区二区三区| 免费久久99精品国产| 99久久精品久久久久久清纯| 欧美不卡一区二区三区| 亚洲综合一区二区| 国产盗摄女厕一区二区三区| 精品视频999| 亚洲欧洲在线观看av| 久久99国产精品久久99| 欧美色区777第一页| 国产精品大尺度| 国产专区综合网| 3d动漫精品啪啪1区2区免费| 亚洲欧美综合色| 国产精品一区一区三区| 91精品国产手机| 亚洲一区av在线| 色婷婷av一区| 国产精品亲子伦对白| 国产又黄又大久久| 91精品国产91热久久久做人人 | 中文天堂在线一区| 久久精品99国产精品| 欧美群妇大交群的观看方式| 一区二区三区欧美日| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 久久精品国产99| 91精品国产91久久久久久一区二区| 亚洲精品水蜜桃| 99精品在线观看视频| 国产精品久久久久久久久图文区| 国产黄色精品视频| 久久精品在这里| 国产一区二区三区香蕉| 久久网站最新地址| 狠狠色狠狠色综合| 久久综合一区二区| 国产精品一区二区不卡| 久久精品人人做人人爽人人| 国产成人午夜精品影院观看视频| 久久日韩精品一区二区五区| 国产综合一区二区|