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

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

?? array-impl.h

?? A C++ class library for scientific computing
?? H
?? 第 1 頁 / 共 5 頁
字號:
// -*- C++ -*-/*************************************************************************** * blitz/array-impl.h    Definition of the Array<P_numtype, N_rank> class * * $Id: array-impl.h,v 1.25 2005/10/13 23:46:43 julianc Exp $ * * Copyright (C) 1997-2001 Todd Veldhuizen <tveldhui@oonumerics.org> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * Suggestions:          blitz-dev@oonumerics.org * Bugs:                 blitz-bugs@oonumerics.org * * For more information, please see the Blitz++ Home Page: *    http://oonumerics.org/blitz/ * ***************************************************************************//* * Wish list for array classes. *  - Arrays whose dimensions are unknown at compile time. *  - where()/elsewhere()/elsewhere() as in Dan Quinlan's implementation *  - block reduction operations *  - conversion to/from matrix & vector *  - apply(T func(T)) *  - apply(T func(const T&)) *  - apply<T func(T)> */#ifndef BZ_ARRAY_H#define BZ_ARRAY_H#include <blitz/blitz.h>#include <blitz/memblock.h>#include <blitz/range.h>#include <blitz/tinyvec.h>#ifdef BZ_ARRAY_SPACE_FILLING_TRAVERSAL#include <blitz/traversal.h>#endif#include <blitz/indexexpr.h>#include <blitz/prettyprint.h>#include <blitz/array/slice.h>     // Subarrays and slicing#include <blitz/array/map.h>       // Tensor index notation#include <blitz/array/multi.h>     // Multicomponent arrays#include <blitz/array/domain.h>    // RectDomain class#include <blitz/array/storage.h>   // GeneralArrayStorageBZ_NAMESPACE(blitz)/* * Forward declarations */template<typename T_numtype, int N_rank>class ArrayIterator;template<typename T_numtype, int N_rank>class ConstArrayIterator;template<typename T_numtype, int N_rank>class FastArrayIterator;template<typename P_expr>class _bz_ArrayExpr;template<typename T_array, typename T_index>class IndirectArray;template <typename P_numtype,int N_rank>void swap(Array<P_numtype,N_rank>&,Array<P_numtype,N_rank>&);template <typename P_numtype, int N_rank>void find(Array<TinyVector<int,N_rank>,1>&,const Array<P_numtype,N_rank>&);/* * Declaration of class Array */// NEEDS_WORK: Array should inherit protected from MemoryBlockReference.// To make this work, need to expose MemoryBlockReference::numReferences()// and make Array<P,N2> a friend of Array<P,N> for slicing.template<typename P_numtype, int N_rank>class Array : public MemoryBlockReference<P_numtype> #ifdef BZ_NEW_EXPRESSION_TEMPLATES    , public ETBase<Array<P_numtype,N_rank> >#endif{private:    typedef MemoryBlockReference<P_numtype> T_base;    using T_base::data_;    using T_base::changeToNullBlock;    using T_base::numReferences;public:    //////////////////////////////////////////////    // Public Types    //////////////////////////////////////////////    /*     * T_numtype  is the numeric type stored in the array.     * T_index    is a vector type which can be used to access elements     *            of many-dimensional arrays.     * T_array    is the array type itself -- Array<T_numtype, N_rank>     * T_iterator is a a fast iterator for the array, used for expression     *            templates     * iterator   is a STL-style iterator     * const_iterator is an STL-style const iterator     */    typedef P_numtype                T_numtype;    typedef TinyVector<int, N_rank>  T_index;    typedef Array<T_numtype, N_rank> T_array;    typedef FastArrayIterator<T_numtype, N_rank> T_iterator;    typedef ArrayIterator<T_numtype,N_rank> iterator;    typedef ConstArrayIterator<T_numtype,N_rank> const_iterator;    static const int _bz_rank = N_rank;    //////////////////////////////////////////////    // Constructors                             //    //////////////////////////////////////////////        /*     * Construct an array from an array expression.     */    template<typename T_expr>    explicit Array(_bz_ArrayExpr<T_expr> expr);    /*     * Any missing length arguments will have their value taken from the     * last argument.  For example,     *   Array<int,3> A(32,64);     * will create a 32x64x64 array.  This is handled by setupStorage().     */    Array(GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        length_ = 0;        stride_ = 0;        zeroOffset_ = 0;    }    explicit Array(int length0,         GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        length_[0] = length0;        setupStorage(0);    }    Array(int length0, int length1,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 2);        TAU_TYPE_STRING(p1, "Array<T,N>::Array() [T="            + CT(T_numtype) + ",N=" + CT(N_rank) + "]");        TAU_PROFILE(p1, "void (int,int)", TAU_BLITZ);        length_[0] = length0;        length_[1] = length1;        setupStorage(1);    }    Array(int length0, int length1, int length2,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 3);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        setupStorage(2);    }    Array(int length0, int length1, int length2, int length3,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 4);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        length_[3] = length3;        setupStorage(3);    }    Array(int length0, int length1, int length2, int length3, int length4,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 5);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        length_[3] = length3;        length_[4] = length4;        setupStorage(4);    }    Array(int length0, int length1, int length2, int length3, int length4,        int length5,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 6);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        length_[3] = length3;        length_[4] = length4;        length_[5] = length5;        setupStorage(5);    }    Array(int length0, int length1, int length2, int length3, int length4,        int length5, int length6,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 7);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        length_[3] = length3;        length_[4] = length4;        length_[5] = length5;        length_[6] = length6;        setupStorage(6);    }    Array(int length0, int length1, int length2, int length3, int length4,        int length5, int length6, int length7,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 8);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        length_[3] = length3;        length_[4] = length4;        length_[5] = length5;        length_[6] = length6;        length_[7] = length7;        setupStorage(7);    }    Array(int length0, int length1, int length2, int length3, int length4,        int length5, int length6, int length7, int length8,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 9);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        length_[3] = length3;        length_[4] = length4;        length_[5] = length5;        length_[6] = length6;        length_[7] = length7;        length_[8] = length8;        setupStorage(8);    }    Array(int length0, int length1, int length2, int length3, int length4,        int length5, int length6, int length7, int length8, int length9,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 10);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        length_[3] = length3;        length_[4] = length4;        length_[5] = length5;        length_[6] = length6;        length_[7] = length7;        length_[8] = length8;        length_[9] = length9;        setupStorage(9);    }    Array(int length0, int length1, int length2, int length3, int length4,        int length5, int length6, int length7, int length8, int length9,        int length10,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())        : storage_(storage)    {        BZPRECONDITION(N_rank >= 11);        length_[0] = length0;        length_[1] = length1;        length_[2] = length2;        length_[3] = length3;        length_[4] = length4;        length_[5] = length5;        length_[6] = length6;        length_[7] = length7;        length_[8] = length8;        length_[9] = length9;        length_[10] = length10;        setupStorage(10);    }    /*     * Construct an array from an existing block of memory.  Ownership     * is not acquired (this is provided for backwards compatibility).     */    Array(T_numtype* restrict dataFirst, TinyVector<int, N_rank> shape,        GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())      : MemoryBlockReference<T_numtype>(product(shape), dataFirst,           neverDeleteData),        storage_(storage)    {        BZPRECONDITION(dataFirst != 0);        length_ = shape;        computeStrides();        data_ += zeroOffset_;    }    /*     * Construct an array from an existing block of memory, with a     * given set of strides.  Ownership is not acquired (i.e. the memory     * block will not be freed by Blitz++).     */    Array(T_numtype* restrict dataFirst, TinyVector<int, N_rank> shape,        TinyVector<int, N_rank> stride,         GeneralArrayStorage<N_rank> storage = GeneralArrayStorage<N_rank>())      : MemoryBlockReference<T_numtype>(product(shape), dataFirst,           neverDeleteData),

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一二三区精品福利视频| 国产91精品精华液一区二区三区 | 在线观看成人免费视频| 日韩精品一区二区三区在线| 亚洲激情五月婷婷| 久久99精品国产.久久久久| 色婷婷av一区二区三区gif | 欧美二区乱c少妇| 中文字幕一区二区三区四区不卡 | 久久只精品国产| 午夜精品一区二区三区三上悠亚| 国产一区不卡精品| 欧美性色aⅴ视频一区日韩精品| 国产视频视频一区| 久久精品av麻豆的观看方式| 欧美影院午夜播放| 亚洲欧洲成人精品av97| 国产一区二区调教| 777午夜精品免费视频| 亚洲综合自拍偷拍| 91在线观看高清| 国产精品全国免费观看高清| 国产在线不卡一区| 日韩小视频在线观看专区| 亚洲国产精品久久一线不卡| 一本大道久久精品懂色aⅴ| 蜜臀久久99精品久久久画质超高清 | 成人激情视频网站| 国产亚洲一区二区三区| 狠狠色丁香久久婷婷综| 欧美一区二区视频在线观看2020| 亚洲综合清纯丝袜自拍| 一本色道综合亚洲| 一区二区不卡在线播放| 91福利在线播放| 亚洲自拍偷拍欧美| 欧美日韩一区二区三区免费看| 一区二区三区四区不卡在线| 91啪亚洲精品| 亚洲一级片在线观看| 欧洲色大大久久| 日韩精品电影在线观看| 日韩精品在线网站| 韩国女主播成人在线| 久久久综合网站| av在线一区二区三区| 中文字幕欧美一区| 欧美在线观看视频一区二区| 亚洲综合999| 欧美丰满美乳xxx高潮www| 久久99精品国产.久久久久| 久久久久久免费毛片精品| 国产99精品在线观看| 亚洲欧洲综合另类| 欧美日韩电影在线播放| 久久97超碰色| 国产精品美女久久久久久久久 | 亚洲国产综合色| 日韩午夜在线影院| 国v精品久久久网| 亚洲尤物视频在线| 精品少妇一区二区三区视频免付费| 国产一区二区毛片| 亚洲精品乱码久久久久久日本蜜臀| 欧美自拍偷拍午夜视频| 韩国成人精品a∨在线观看| 国产欧美精品一区aⅴ影院| 91电影在线观看| 久久精品国产第一区二区三区| 国产精品夫妻自拍| 欧美精品自拍偷拍| 丰满白嫩尤物一区二区| 性做久久久久久免费观看| 久久网站热最新地址| 91成人国产精品| 国产麻豆成人传媒免费观看| 亚洲免费观看高清在线观看| 欧美一级二级在线观看| 91偷拍与自偷拍精品| 玖玖九九国产精品| 一区二区三区在线观看欧美| 26uuu精品一区二区三区四区在线| 91浏览器在线视频| 国产综合一区二区| 成人91在线观看| 理论片日本一区| 一区二区三区日韩欧美精品| 久久青草欧美一区二区三区| 欧美色综合久久| 成人高清免费观看| 久久99久久久久久久久久久| 亚洲男同性恋视频| 久久久www成人免费毛片麻豆| 制服丝袜av成人在线看| 91老司机福利 在线| 国产精品18久久久久久久久久久久| 午夜不卡av免费| 亚洲国产视频在线| 亚洲美女屁股眼交3| 国产精品欧美久久久久无广告| 精品国产精品一区二区夜夜嗨| 欧美日韩三级在线| 在线精品亚洲一区二区不卡| 成人午夜激情视频| 国产乱子伦视频一区二区三区| 奇米一区二区三区| 亚洲高清免费观看高清完整版在线观看| 国产精品美女久久久久久2018| 久久伊人蜜桃av一区二区| 欧美成人在线直播| 欧美电影免费观看高清完整版在线观看| 欧美日韩精品二区第二页| 色老头久久综合| 在线看国产一区二区| 欧美影院精品一区| 欧美图片一区二区三区| 欧美探花视频资源| 精品视频999| 欧美日韩一本到| 欧美精品三级在线观看| 欧美日韩在线播| 欧美精品电影在线播放| 欧美一区二区啪啪| 欧美草草影院在线视频| 久久麻豆一区二区| 国产精品人妖ts系列视频| 亚洲女同ⅹxx女同tv| 亚洲国产精品久久艾草纯爱| 亚洲国产日日夜夜| 奇米色777欧美一区二区| 美洲天堂一区二卡三卡四卡视频| 裸体在线国模精品偷拍| 国产一区二区91| 91在线porny国产在线看| 色综合久久综合网97色综合| 欧美日韩在线亚洲一区蜜芽| 日韩一区二区影院| 久久蜜桃av一区二区天堂 | 91麻豆免费看片| 91福利精品视频| 日韩欧美一区在线观看| 久久久久久免费毛片精品| 中文字幕日韩一区| 性做久久久久久免费观看| 久久99国产乱子伦精品免费| 成人性生交大片免费看中文| 在线日韩av片| 日韩精品专区在线影院观看| 欧美国产97人人爽人人喊| 亚洲一线二线三线视频| 久久99久久99小草精品免视看| 国产69精品久久久久毛片| 91国产丝袜在线播放| 欧美大片国产精品| 亚洲少妇屁股交4| 黄网站免费久久| 欧美中文字幕一二三区视频| 久久一夜天堂av一区二区三区| 亚洲黄色小说网站| 国产在线不卡一区| 99久久精品国产精品久久| 在线不卡免费av| 国产精品天美传媒沈樵| 蜜桃久久久久久| 色婷婷精品大在线视频| 久久综合九色欧美综合狠狠| 夜夜爽夜夜爽精品视频| 丁香婷婷综合五月| 91精品中文字幕一区二区三区 | 欧美精品一区二区三区一线天视频 | 男女男精品视频网| 色成人在线视频| 国产欧美一区二区精品久导航 | 成人激情视频网站| 精品日韩av一区二区| 亚洲国产精品视频| av一区二区久久| 欧美精品一区二区三区蜜桃视频| 一区二区三区四区在线| 国产99一区视频免费| 欧美精品一区二区三区高清aⅴ | 制服丝袜一区二区三区| 亚洲精品乱码久久久久久| 成人高清视频免费观看| 国产欧美一区二区三区鸳鸯浴| 奇米影视在线99精品| 欧美乱妇15p| 亚洲一区二区黄色| 99re66热这里只有精品3直播 | 亚洲国产毛片aaaaa无费看| 91一区二区在线| 中文字幕av一区二区三区免费看| 久久99精品一区二区三区三区| 欧美一区二区三区影视| 日韩国产成人精品| 欧美一级生活片| 琪琪一区二区三区| 欧美一区二区福利在线| 美女视频第一区二区三区免费观看网站 | 97精品久久久久中文字幕 |