📄 resize.cc
字号:
#ifndef BZ_ARRAYRESIZE_CC
#define BZ_ARRAYRESIZE_CC
#ifndef BZ_ARRAY_H
#error <blitz/array/resize.cc> must be included via <blitz/array.h>
#endif
#include <blitz/minmax.h>
BZ_NAMESPACE(blitz)
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int length0)
{
BZPRECONDITION(length0 > 0);
BZPRECONDITION(N_rank == 1);
if (length0 != length_[firstRank])
{
length_[firstRank] = length0;
setupStorage(0);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0));
BZPRECONDITION(N_rank == 2);
if ((extent0 != length_[0]) || (extent1 != length_[1]))
{
length_[0] = extent0;
length_[1] = extent1;
setupStorage(1);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1,
int extent2)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0) && (extent2 > 0));
BZPRECONDITION(N_rank == 3);
if ((extent0 != length_[0]) || (extent1 != length_[1])
|| (extent2 != length_[2]))
{
length_[0] = extent0;
length_[1] = extent1;
length_[2] = extent2;
setupStorage(2);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1,
int extent2, int extent3)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0) && (extent2 > 0)
&& (extent3 > 0));
BZPRECONDITION(N_rank == 4);
if ((extent0 != length_[0]) || (extent1 != length_[1])
|| (extent2 != length_[2]) || (extent3 != length_[3]))
{
length_[0] = extent0;
length_[1] = extent1;
length_[2] = extent2;
length_[3] = extent3;
setupStorage(3);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1,
int extent2, int extent3, int extent4)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0) && (extent2 > 0)
&& (extent3 > 0) && (extent4 > 0));
BZPRECONDITION(N_rank == 5);
if ((extent0 != length_[0]) || (extent1 != length_[1])
|| (extent2 != length_[2]) || (extent3 != length_[3])
|| (extent4 != length_[4]))
{
length_[0] = extent0;
length_[1] = extent1;
length_[2] = extent2;
length_[3] = extent3;
length_[4] = extent4;
setupStorage(4);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1,
int extent2, int extent3, int extent4, int extent5)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0) && (extent2 > 0)
&& (extent3 > 0) && (extent4 > 0) && (extent5 > 0));
BZPRECONDITION(N_rank == 6);
if ((extent0 != length_[0]) || (extent1 != length_[1])
|| (extent2 != length_[2]) || (extent3 != length_[3])
|| (extent4 != length_[4]) || (extent5 != length_[5]))
{
length_[0] = extent0;
length_[1] = extent1;
length_[2] = extent2;
length_[3] = extent3;
length_[4] = extent4;
length_[5] = extent5;
setupStorage(5);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1,
int extent2, int extent3, int extent4, int extent5,
int extent6)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0) && (extent2 > 0)
&& (extent3 > 0) && (extent4 > 0) && (extent5 > 0)
&& (extent6 > 0));
BZPRECONDITION(N_rank == 7);
if ((extent0 != length_[0]) || (extent1 != length_[1])
|| (extent2 != length_[2]) || (extent3 != length_[3])
|| (extent4 != length_[4]) || (extent5 != length_[5])
|| (extent6 != length_[6]))
{
length_[0] = extent0;
length_[1] = extent1;
length_[2] = extent2;
length_[3] = extent3;
length_[4] = extent4;
length_[5] = extent5;
length_[6] = extent6;
setupStorage(6);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1,
int extent2, int extent3, int extent4, int extent5,
int extent6, int extent7)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0) && (extent2 > 0)
&& (extent3 > 0) && (extent4 > 0) && (extent5 > 0)
&& (extent6 > 0) && (extent7 > 0));
BZPRECONDITION(N_rank == 8);
if ((extent0 != length_[0]) || (extent1 != length_[1])
|| (extent2 != length_[2]) || (extent3 != length_[3])
|| (extent4 != length_[4]) || (extent5 != length_[5])
|| (extent6 != length_[6]) || (extent7 != length_[7]))
{
length_[0] = extent0;
length_[1] = extent1;
length_[2] = extent2;
length_[3] = extent3;
length_[4] = extent4;
length_[5] = extent5;
length_[6] = extent6;
length_[7] = extent7;
setupStorage(7);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1,
int extent2, int extent3, int extent4, int extent5,
int extent6, int extent7, int extent8)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0) && (extent2 > 0)
&& (extent3 > 0) && (extent4 > 0) && (extent5 > 0)
&& (extent6 > 0) && (extent7 > 0) && (extent8 > 0));
BZPRECONDITION(N_rank == 9);
if ((extent0 != length_[0]) || (extent1 != length_[1])
|| (extent2 != length_[2]) || (extent3 != length_[3])
|| (extent4 != length_[4]) || (extent5 != length_[5])
|| (extent6 != length_[6]) || (extent7 != length_[7])
|| (extent8 != length_[8]))
{
length_[0] = extent0;
length_[1] = extent1;
length_[2] = extent2;
length_[3] = extent3;
length_[4] = extent4;
length_[5] = extent5;
length_[6] = extent6;
length_[7] = extent7;
length_[8] = extent8;
setupStorage(8);
}
}
template<class T_numtype, int N_rank>
void Array<T_numtype, N_rank>::resize(int extent0, int extent1,
int extent2, int extent3, int extent4, int extent5,
int extent6, int extent7, int extent8, int extent9)
{
BZPRECONDITION((extent0 > 0) && (extent1 > 0) && (extent2 > 0)
&& (extent3 > 0) && (extent4 > 0) && (extent5 > 0)
&& (extent6 > 0) && (extent7 > 0) && (extent8 > 0)
&& (extent9 > 0));
BZPRECONDITION(N_rank == 10);
if ((extent0 != length_[0]) || (extent1 != length_[1])
|| (extent2 != length_[2]) || (extent3 != length_[3])
|| (extent4 != length_[4]) || (extent5 != length_[5])
|| (extent6 != length_[6]) || (extent7 != length_[7])
|| (extent8 != length_[8]) || (extent9 != length_[9]))
{
length_[0] = extent0;
length_[1] = extent1;
length_[2] = extent2;
length_[3] = extent3;
length_[4] = extent4;
length_[5] = extent5;
length_[6] = extent6;
length_[7] = extent7;
length_[8] = extent8;
length_[9] = extent9;
setupStorage(9);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -