本文整理汇总了C++中Array1D::length方法的典型用法代码示例。如果您正苦于以下问题:C++ Array1D::length方法的具体用法?C++ Array1D::length怎么用?C++ Array1D::length使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Array1D
的用法示例。
在下文中一共展示了Array1D::length方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: out
Array1D<T> apply_function(fT (*f)(fT), const Array1D<T>& data)
{
Array1D<T> out(data.length());
for (int i=0;i<data.length();i++)
out[i]=static_cast<T>(f(static_cast<fT>(data[i])));
return out;
}
示例2: upsample
void upsample(const Array1D<T>& v, int usf, Array1D<T>& u)
{
// it_assert1(usf >= 1, "upsample: upsampling factor must be equal or greater than one" );
u.set_size(v.length()*usf);
u.clear();
for(long i=0;i<v.length();i++)
u(i*usf)=v(i);
}
示例3: repeat
Array1D<T> repeat(const Array1D<T>& v, int norepeats)
{
Array1D<T> temp(v.length()*norepeats);
for(int i=0;i<v.length();i++) {
for(int j=0;j<norepeats;j++)
temp(i*norepeats+j)=v(i);
}
return temp;
}
示例4: lininterp
void lininterp(const Array1D<T>& v, int usf, Array1D<T>& u)
{
// it_assert1(usf >= 1, "lininterp: upsampling factor must be equal or greater than one" );
long L = (v.length()-1)*usf+1;
u.set_size(L);
for (long j = 0; j < L-1; j++) {
//u(j) = (v(j/usf) + (j % usf)/((float)usf)*(v((j+usf)/usf)-v(j/usf)));
u(j) = (v(j/usf) + (j % usf)/((double)usf)*(v((j+usf)/usf)-v(j/usf)));
}
u(L-1) = v(v.length()-1);
}
示例5: sum
template<class T> T sum(const Array1D<T>& v)
{
T M=0;
for (int i=0;i<v.length();i++)
M+=v[i];
return M;
}
示例6: product
T product(const Array1D<T>& v)
{
double lnM=0;
for (int i=0;i<v.length();i++)
lnM += log(static_cast<double>(v[i]));
return static_cast<T>(exp(lnM));
}
示例7: min_index
int min_index(const Array1D<T>& in)
{
int minindex=0;
for (int i=0;i<in.length();i++)
if (in[i]<in[minindex])
minindex=i;
return minindex;
}
示例8: max_index
int max_index(const Array1D<T>& in)
{
int maxindex=0;
for (int i=0;i<in.length();i++)
if (in[i]>in[maxindex])
maxindex=i;
return maxindex;
}
示例9: min
T min(const Array1D<T> &in)
{
T mindata=in[0];
for (int i=1;i<in.length();i++)
if (in[i]<mindata)
mindata=in[i];
return mindata;
}
示例10: max
T max(const Array1D<T>& in)
{
T maxdata=in[0];
for (int i=1;i<in.length();i++)
if (in[i]>maxdata)
maxdata=in[i];
return maxdata;
}
示例11: sum_sqr
T sum_sqr(const Array1D<T>& v)
{
T M=0;
for (int i=0; i<v.length(); i++)
M += v[i] * v[i];
return M;
}
示例12: norm
double norm(const Array1D<T>& v, int p)
{
int i;
double e=0;
for (i=0;i<v.length();i++)
e+=pow(fabs(v[i]),(double)p); // fabs() shoud be OK
return pow(e,1.0/(double)p);
}
示例13: sort_index
ivec sort_index(const Array1D<T>& data)
{
int N=data.length(),i;
ivec indexlist(N);
for(i=0;i<N;i++) {
indexlist(i)=i;
}
QSindex(0,N-1,indexlist,data);
return indexlist;
}
示例14: variance
double variance(const Array1D<T>& v)
{
int len = v.length();
const T *p=v._data();
double sum=0.0, sq_sum=0.0;
for (int i=0; i<len; i++, p++) {
sum += *p;
sq_sum += *p * *p;
}
return (double)(sq_sum - sum*sum/len) / (len-1);
}
示例15: geometric_mean
double geometric_mean(const Array1D<T>& v)
{
return exp(log(product(v))/v.length());
}