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

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

?? alias.h

?? The Spectral Toolkit is a C++ spectral transform library written by Rodney James and Chuck Panaccion
?? H
字號:
//// spectral toolkit // copyright (c) 2005 university corporation for atmospheric research// licensed under the gnu general public license//#ifndef __alias__#define __alias__namespace spectral{  /// Function template to cast a 1-d array pointer to 1-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param P 1-d pointer of type T2 to cast  /// \returns 1-d pointer of type T1 referring to P  template <typename T1,typename T2>   T1 *alias(T2 *P)   {     return((T1*)(P));   }  /// Function template to cast a 2-d array pointer to 1-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param P 2-d pointer of type T2 to cast  /// \returns 1-d pointer of type T1 referring to P  template <typename T1,typename T2>   T1 *alias(T2 **P)   {     return((T1*)(P[0]));   }    /// Function template to cast a 3-d array pointer to 1-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param P 3-d pointer of type T2 to cast  /// \returns 1-d pointer of type T1 referring to P  template <typename T1,typename T2>   T1 *alias(T2 ***P)   {     return((T1*)(P[0][0]));   }    /// Function template to cast a 4-d array pointer to 1-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param P 4-d pointer of type T2 to cast  /// \returns 1-d pointer of type T1 referring to P  template <typename T1,typename T2>   T1 *alias(T2 ****P)   {     return((T1*)(P[0][0][0]));   }  /// Function template to deallocate 1-d array alias.  /// \param P pointer to 1-d array  template <typename T>   void dealias(T *P) {}    /// Function template to cast a 1-d array pointer to 2-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n2 first dimension of 2-d output array  /// \param n1 second dimension of 2-d output array  /// \param P 1-d pointer of type T2 to cast  /// \returns 2-d pointer of type T1 and dimension [n2][n1] referring to P  template <typename T1,typename T2>   T1 **alias(int n2,int n1,T2 *P)  {    int i;    T1 **p = new T1*[n2];    p[0] = (T1*)(P);    for(i=1;i<n2;i++)      p[i]=p[i-1]+n1;    return(p);  }    /// Function template to cast a 2-d array pointer to 2-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n2 first dimension of 2-d output array  /// \param n1 second dimension of 2-d output array  /// \param P 2-d pointer of type T2 to cast  /// \returns 2-d pointer of type T1 and dimension [n2][n1] referring to P  template <typename T1,typename T2>   T1 **alias(int n2,int n1,T2 **P)  {    int i;    T1 **p = new T1*[n2];    p[0] = (T1*)(P[0]);    for(i=1;i<n2;i++)      p[i]=p[i-1]+n1;    return(p);  }  /// Function template to cast a 3-d array pointer to 2-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n2 first dimension of 2-d output array  /// \param n1 second dimension of 2-d output array  /// \param P 3-d pointer of type T2 to cast  /// \returns 2-d pointer of type T1 and dimension [n2][n1] referring to P  template <typename T1,typename T2>   T1 **alias(int n2,int n1,T2 ***P)  {    int i;    T1 **p = new T1*[n2];    p[0] = (T1*)(P[0][0]);    for(i=1;i<n2;i++)      p[i]=p[i-1]+n1;    return(p);  }    /// Function template to cast a 4-d array pointer to 2-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n2 first dimension of 2-d output array  /// \param n1 second dimension of 2-d output array  /// \param P 4-d pointer of type T2 to cast  /// \returns 2-d pointer of type T1 and dimension [n2][n1] referring to P  template <typename T1,typename T2>   T1 **alias(int n2,int n1,T2 ****P)  {    int i;    T1 **p = new T1*[n2];    p[0] = (T1*)(P[0][0][0]);    for(i=1;i<n2;i++)      p[i]=p[i-1]+n1;    return(p);  }    /// Function template to deallocate 2-d array alias.  /// \param p pointer to 2-d array  /// deallocate 2d alias  template <typename T>   void dealias(T **p)   {     delete [] p;   }    /// Function template to cast a 1-d array pointer to 3-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n3 first dimension of 3-d output array  /// \param n2 second dimension of 3-d output array  /// \param n1 third dimension of 3-d output array  /// \param P 1-d pointer of type T2 to cast  /// \returns 3-d pointer of type T1 and dimension [n3][n2][n1] referring to P  template <typename T1,typename T2>   T1 ***alias(int n3,int n2, int n1,T2 *P)  {    int i,j,k;    T1 ***p = new T1**[n3];    p[0]= new T1*[n3*n2];    for(i=1;i<n3;i++)      p[i]=p[i-1]+n2;    p[0][0] = (T1*)(P);    for(k=1;k<n3;k++)      p[k][0]=p[k-1][0]+n1*n2;    for(k=0;k<n3;k++)      for(j=1;j<n2;j++)	p[k][j] = p[k][j-1]+n1;    return(p);  }    /// Function template to cast a 2-d array pointer to 3-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n3 first dimension of 3-d output array  /// \param n2 second dimension of 3-d output array  /// \param n1 third dimension of 3-d output array  /// \param P 2-d pointer of type T2 to cast  /// \returns 3-d pointer of type T1 and dimension [n3][n2][n1] referring to P  template <typename T1,typename T2>   T1 ***alias(int n3,int n2, int n1,T2 **P)  {    int i,j,k;    T1 ***p = new T1**[n3];    p[0]= new T1*[n3*n2];    for(i=1;i<n3;i++)      p[i]=p[i-1]+n2;    p[0][0] = (T1*)(P[0]);    for(k=1;k<n3;k++)      p[k][0]=p[k-1][0]+n1*n2;    for(k=0;k<n3;k++)      for(j=1;j<n2;j++)	p[k][j] = p[k][j-1]+n1;    return(p);  }   /// Function template to cast a 3-d array pointer to 3-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n3 first dimension of 3-d output array  /// \param n2 second dimension of 3-d output array  /// \param n1 third dimension of 3-d output array  /// \param P 3-d pointer of type T2 to cast  /// \returns 3-d pointer of type T1 and dimension [n3][n2][n1] referring to P  template <typename T1,typename T2>   T1 ***alias(int n3,int n2, int n1,T2 ***P)  {    int i,j,k;    T1 ***p = new T1**[n3];    p[0]= new T1*[n3*n2];    for(i=1;i<n3;i++)      p[i]=p[i-1]+n2;    p[0][0] = (T1*)(P[0][0]);    for(k=1;k<n3;k++)      p[k][0]=p[k-1][0]+n1*n2;    for(k=0;k<n3;k++)      for(j=1;j<n2;j++)	p[k][j] = p[k][j-1]+n1;    return(p);  }    /// Function template to cast a 4-d array pointer to 3-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n3 first dimension of 3-d output array  /// \param n2 second dimension of 3-d output array  /// \param n1 third dimension of 3-d output array  /// \param P 4-d pointer of type T2 to cast  /// \returns 3-d pointer of type T1 and dimension [n3][n2][n1] referring to P  template <typename T1,typename T2>   T1 ***alias(int n3,int n2, int n1,T2 ****P)  {    int i,j,k;    T1 ***p = new T1**[n3];    p[0]= new T1*[n3*n2];    for(i=1;i<n3;i++)      p[i]=p[i-1]+n2;    p[0][0] = (T1*)(P[0][0][0]);    for(k=1;k<n3;k++)      p[k][0]=p[k-1][0]+n1*n2;    for(k=0;k<n3;k++)      for(j=1;j<n2;j++)	p[k][j] = p[k][j-1]+n1;    return(p);  }    /// Function template to deallocate 3-d alias.  /// \param p pointer to 3-d array  template <typename T>   void dealias(T ***p)  {    delete [] p[0];    delete [] p;  }    /// Function template to cast a 1-d array pointer to 4-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n4 first dimension of 4-d output array  /// \param n3 second dimension of 4-d output array  /// \param n2 third dimension of 4-d output array  /// \param n1 fourth dimension of 4-d output array  /// \param P 1-d pointer of type T2 to cast  /// \returns 4-d pointer of type T1 and dimension [n4][n3][n2][n1] referring to P  template <typename T1,typename T2>   T1 ****alias(int n4,int n3,int n2, int n1,T2 *P)  {    int i,j,k,l;    T1 ****p = new T1***[n4];    p[0]= new T1**[n4*n3];    for(i=1;i<n4;i++)      p[i]=p[i-1]+n3;    p[0][0] = new T1*[n4*n3*n2];    for(k=1;k<n4;k++)      p[k][0]=p[k-1][0]+n2*n3;    for(k=0;k<n4;k++)      for(j=1;j<n3;j++)	p[k][j] = p[k][j-1]+n2;    p[0][0][0] = (T1*)(P);    for(l=1;l<n4;l++)      p[l][0][0]=p[l-1][0][0]+n1*n2*n3;    for(l=0;l<n4;l++)      for(k=1;k<n3;k++)	p[l][k][0]=p[l][k-1][0]+n1*n2;    for(l=0;l<n4;l++)      for(k=0;k<n3;k++)	for(j=1;j<n2;j++)	  p[l][k][j] = p[l][k][j-1]+n1;    return(p);  }    /// Function template to cast a 2-d array pointer to 4-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n4 first dimension of 4-d output array  /// \param n3 second dimension of 4-d output array  /// \param n2 third dimension of 4-d output array  /// \param n1 fourth dimension of 4-d output array  /// \param P 2-d pointer of type T2 to cast  /// \returns 4-d pointer of type T1 and dimension [n4][n3][n2][n1] referring to P  template <typename T1,typename T2>   T1 ****alias(int n4,int n3,int n2, int n1,T2 **P)  {    int i,j,k,l;    T1 ****p = new T1***[n4];    p[0]= new T1**[n4*n3];    for(i=1;i<n4;i++)      p[i]=p[i-1]+n3;    p[0][0] = new T1*[n4*n3*n2];    for(k=1;k<n4;k++)      p[k][0]=p[k-1][0]+n2*n3;    for(k=0;k<n4;k++)      for(j=1;j<n3;j++)	p[k][j] = p[k][j-1]+n2;    p[0][0][0] = (T1*)(P[0]);    for(l=1;l<n4;l++)      p[l][0][0]=p[l-1][0][0]+n1*n2*n3;    for(l=0;l<n4;l++)      for(k=1;k<n3;k++)	p[l][k][0]=p[l][k-1][0]+n1*n2;    for(l=0;l<n4;l++)      for(k=0;k<n3;k++)	for(j=1;j<n2;j++)	  p[l][k][j] = p[l][k][j-1]+n1;    return(p);  }  /// Function template to cast a 3-d array pointer to 4-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n4 first dimension of 4-d output array  /// \param n3 second dimension of 4-d output array  /// \param n2 third dimension of 4-d output array  /// \param n1 fourth dimension of 4-d output array  /// \param P 3-d pointer of type T2 to cast  /// \returns 4-d pointer of type T1 and dimension [n4][n3][n2][n1] referring to P  template <typename T1,typename T2>   T1 ****alias(int n4,int n3,int n2, int n1,T2 ***P)  {    int i,j,k,l;    T1 ****p = new T1***[n4];    p[0]= new T1**[n4*n3];    for(i=1;i<n4;i++)      p[i]=p[i-1]+n3;    p[0][0] = new T1*[n4*n3*n2];    for(k=1;k<n4;k++)      p[k][0]=p[k-1][0]+n2*n3;    for(k=0;k<n4;k++)      for(j=1;j<n3;j++)	p[k][j] = p[k][j-1]+n2;    p[0][0][0] = (T1*)(P[0][0]);    for(l=1;l<n4;l++)      p[l][0][0]=p[l-1][0][0]+n1*n2*n3;    for(l=0;l<n4;l++)      for(k=1;k<n3;k++)	p[l][k][0]=p[l][k-1][0]+n1*n2;    for(l=0;l<n4;l++)      for(k=0;k<n3;k++)	for(j=1;j<n2;j++)	  p[l][k][j] = p[l][k][j-1]+n1;    return(p);  }  /// Function template to cast a 4-d array pointer to 4-d array pointer.  /// Use dealias to deallocate an aliased array,  /// using dealloc will also deallocate the orginal array.  /// \param n4 first dimension of 4-d output array  /// \param n3 second dimension of 4-d output array  /// \param n2 third dimension of 4-d output array  /// \param n1 fourth dimension of 4-d output array  /// \param P 4-d pointer of type T2 to cast  /// \returns 4-d pointer of type T1 and dimension [n4][n3][n2][n1] referring to P  template <typename T1,typename T2>   T1 ****alias(int n4,int n3,int n2, int n1,T2 ****P)  {    int i,j,k,l;    T1 ****p = new T1***[n4];    p[0]= new T1**[n4*n3];    for(i=1;i<n4;i++)      p[i]=p[i-1]+n3;    p[0][0] = new T1*[n4*n3*n2];    for(k=1;k<n4;k++)      p[k][0]=p[k-1][0]+n2*n3;    for(k=0;k<n4;k++)      for(j=1;j<n3;j++)	p[k][j] = p[k][j-1]+n2;    p[0][0][0] = (T1*)(P[0][0][0]);    for(l=1;l<n4;l++)      p[l][0][0]=p[l-1][0][0]+n1*n2*n3;    for(l=0;l<n4;l++)      for(k=1;k<n3;k++)	p[l][k][0]=p[l][k-1][0]+n1*n2;    for(l=0;l<n4;l++)      for(k=0;k<n3;k++)	for(j=1;j<n2;j++)	  p[l][k][j] = p[l][k][j-1]+n1;    return(p);  }  /// Function template to deallocate 4-d array alias.  /// \param p pointer to 4-d array  template <typename T>   void dealias(T ****p)  {    delete [] p[0][0];    delete [] p[0];    delete [] p;  }}#endif// Local Variables:// mode:C++// End:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜久久久久久久久久一区二区| 国产91精品入口| 免费黄网站欧美| 不卡一区二区三区四区| 欧美一区二区成人| 亚洲美女在线国产| 国内精品免费**视频| 欧美日韩亚洲国产综合| 国产精品色婷婷| 久久国产精品99精品国产| 在线观看一区日韩| 国产午夜精品久久| 美国十次综合导航| 欧美日韩一区高清| 亚洲免费av观看| 成人手机电影网| 亚洲精品在线免费播放| 日韩国产在线一| 色偷偷一区二区三区| 国产欧美一区二区三区网站| 日本麻豆一区二区三区视频| 欧美在线观看一区二区| 国产精品美日韩| 国产suv精品一区二区三区| 欧美videofree性高清杂交| 亚洲成av人片在线观看| 91小视频免费观看| 综合亚洲深深色噜噜狠狠网站| 国产原创一区二区三区| 精品国产伦一区二区三区观看方式| 亚洲成人午夜影院| 欧美日韩夫妻久久| 午夜精品福利久久久| 欧美日韩国产一级二级| 亚洲h动漫在线| 91国偷自产一区二区开放时间| 亚洲婷婷国产精品电影人久久| 国产超碰在线一区| 国产精品素人一区二区| 国产成人免费av在线| 国产视频一区二区在线| 成人免费毛片app| 中文字幕中文字幕一区| 91女神在线视频| 亚洲成人在线观看视频| 欧美一区二区在线观看| 蜜桃传媒麻豆第一区在线观看| 日韩视频免费观看高清完整版| 日韩精品一二区| 精品蜜桃在线看| 国产成人日日夜夜| **欧美大码日韩| 欧美美女一区二区三区| 日韩一区精品视频| 国产午夜三级一区二区三| 成人激情校园春色| 亚洲成人在线网站| 久久婷婷综合激情| 91蜜桃免费观看视频| 亚洲国产精品久久久久秋霞影院| 欧美乱妇一区二区三区不卡视频| 韩国v欧美v亚洲v日本v| 中文字幕在线观看不卡视频| 欧美在线影院一区二区| 国精产品一区一区三区mba桃花| 欧美激情在线看| 欧美在线观看一区二区| 国产做a爰片久久毛片| 亚洲精选一二三| 精品国产乱码久久久久久免费| 成人一级黄色片| 一区二区成人在线观看| 日韩你懂的在线观看| 99久精品国产| 精品伊人久久久久7777人| 综合久久久久久| 精品国产区一区| 欧美视频在线一区二区三区| 久久精品国产精品亚洲综合| 国产精品国产自产拍在线| 777a∨成人精品桃花网| av激情综合网| 精彩视频一区二区三区| 亚洲在线视频网站| 中文字幕欧美激情一区| 欧美日韩高清在线播放| 成人app在线| 国产在线精品免费| 日韩成人午夜精品| 亚洲免费在线电影| 国产视频一区在线观看 | 免费高清视频精品| 中文字幕一区二区日韩精品绯色 | 成人精品视频网站| 日本三级韩国三级欧美三级| 亚洲欧洲精品一区二区精品久久久 | 亚洲午夜在线观看视频在线| 国产亚洲一区二区三区| 日韩欧美区一区二| 欧美精品色一区二区三区| 91在线精品一区二区| 国产成人免费在线视频| 美日韩一区二区| 日韩有码一区二区三区| 亚洲女性喷水在线观看一区| 国产日韩av一区| 精品欧美久久久| 日韩欧美国产wwwww| 精品婷婷伊人一区三区三| 在线日韩av片| 色猫猫国产区一区二在线视频| 成人免费毛片a| 国产精品一二三| 国产大片一区二区| 国产精品一线二线三线精华| 精品一区中文字幕| 国产在线一区二区| 韩国欧美国产1区| 国产精品99久久久久久宅男| 国产一区二区三区久久悠悠色av| 久久99精品国产麻豆不卡| 久久av中文字幕片| 国产一区二区中文字幕| 国产高清亚洲一区| 国产69精品久久久久777| 福利电影一区二区三区| 国产aⅴ综合色| av在线不卡观看免费观看| 91片黄在线观看| 欧美三区在线观看| 678五月天丁香亚洲综合网| 91精品欧美综合在线观看最新| 91精品国产综合久久小美女| 欧美一区二区三区电影| 久久综合久久鬼色中文字| 国产日韩欧美精品综合| 国产精品久久久久一区| 一区二区三区四区国产精品| 亚洲成av人**亚洲成av**| 男女激情视频一区| 国产91露脸合集magnet| 在线观看国产精品网站| 日韩一级完整毛片| 国产网站一区二区三区| 中文字幕一区二区在线观看| 亚洲一区二区精品3399| 天天av天天翘天天综合网| 激情综合色综合久久综合| 成人手机电影网| 欧美久久久久久久久久| www精品美女久久久tv| 国产精品国产三级国产普通话99| 夜夜嗨av一区二区三区四季av| 日本午夜一区二区| 成人涩涩免费视频| 欧美午夜寂寞影院| 久久这里都是精品| 亚洲宅男天堂在线观看无病毒| 免费成人美女在线观看| 91尤物视频在线观看| 91精品国产一区二区三区| 国产亚洲欧美一区在线观看| 亚洲综合在线电影| 国产美女视频91| 欧美中文字幕亚洲一区二区va在线| 欧美变态口味重另类| 亚洲精品一二三| 国产精品18久久久| 欧美日韩大陆一区二区| 国产精品三级电影| 国内偷窥港台综合视频在线播放| 欧美视频在线播放| 欧美经典一区二区三区| 日本麻豆一区二区三区视频| 在线中文字幕一区| 欧美韩日一区二区三区四区| 美女一区二区在线观看| 在线观看91精品国产入口| 欧美国产日韩亚洲一区| 久久精品国产99| 3atv在线一区二区三区| 亚洲精品你懂的| 成人激情免费视频| 精品国精品国产| 免费日本视频一区| 欧美日本乱大交xxxxx| 一区二区三区视频在线观看| 成人av免费在线播放| 国产夜色精品一区二区av| 美女视频网站黄色亚洲| 欧美一级久久久| 蜜臀av一区二区三区| 欧美日韩高清一区二区不卡| 亚洲一区二区精品久久av| 欧美在线观看一二区| 亚洲久草在线视频| 在线亚洲人成电影网站色www| 国产精品高潮呻吟久久| 成人国产免费视频| 国产精品午夜电影|