• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ std::valarray类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中std::valarray的典型用法代码示例。如果您正苦于以下问题:C++ valarray类的具体用法?C++ valarray怎么用?C++ valarray使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了valarray类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: MonomDegreeOrder

bool ReedMullerCoder::MonomDegreeOrder(const std::valarray<bool>& lhs, const std::valarray<bool>& rhs) {
  if (lhs.size() != rhs.size()) {
    return 0;
  }

  if (Weight(lhs) < Weight(rhs)) {
    return 1;
  }

  if (Weight(lhs) > Weight(rhs)) {
    return 0;
  }

  for (int i = rhs.size() - 1; i >= 0; --i) {
    if (lhs[i] > rhs[i]) {
      return 1;
    }

    if (lhs[i] < rhs[i]) {
      return 0;
    }
  }

  return false;
}
开发者ID:askmyhat,项目名称:coder,代码行数:25,代码来源:ReedMullerCoder.cpp


示例2: CEREAL_SAVE_FUNCTION_NAME

//! Saving for std::valarray arithmetic types, using binary serialization, if supported
template<class Archive, class T> inline typename std::enable_if<
		traits::is_output_serializable<BinaryData<T>, Archive>::value
				&& std::is_arithmetic<T>::value, void>::type CEREAL_SAVE_FUNCTION_NAME(
		Archive & ar, std::valarray<T> const & valarray) {
	ar(make_size_tag(static_cast<size_type>(valarray.size()))); // number of elements
	ar(binary_data(&valarray[0], valarray.size() * sizeof(T))); // &valarray[0] ok since guaranteed contiguous
}
开发者ID:galek,项目名称:Alloy-Graphics-Library,代码行数:8,代码来源:valarray.hpp


示例3: find_histogram

int find_histogram(const std::valarray<T>& vol, std::valarray<int>& hist, unsigned int bins, 
		   T& min, T& max)
{
  // size and zero the histogram
  hist.resize(bins); hist = 0;

  if(min == max) { min = vol.min(); max = vol.max(); }

  int validsize(-1);

  if(min != max) {
    double fA = bins / double(max - min);
    double fB = (bins * -min) / double(max - min);
    
    validsize = 0;

    for(unsigned int i = 0; i < vol.size(); ++i) {
      unsigned int idx = unsigned(fA * vol[i] + fB);
      ++hist[ std::max(unsigned(0), std::min(idx, bins - 1)) ];
      ++validsize;
    }      
  }

  return validsize;
}
开发者ID:xingzhong,项目名称:RTfslview,代码行数:25,代码来源:histogramfns.hpp


示例4: addData

         void addData(const std::valarray<T>& statData,
            const std::valarray<T> binData)
         {
            size_t s = statData.size();

            if (s!=binData.size())
            {
               SparseBinnedStatsException e("Input arrays not the same length.");
               GPSTK_THROW(e);
            }

            bool thisRejected;

            for (size_t i=0; i<s; i++)
            {
               thisRejected=true;
               for (size_t j=0; j<bins.size(); j++)
               {
                  if ( bins[j].within(binData[i]) )
                  {
                     stats[j].Add(statData[i]);
                     thisRejected = false;
                  }

               }
               if (thisRejected)
                  rejectedCount++;
               else
                  usedCount++;
            }

         };
开发者ID:ianmartin,项目名称:GPSTk,代码行数:32,代码来源:SparseBinnedStats.hpp


示例5: dist

        double dist(const std::valarray<double>& a, const std::valarray<double>& b) const
        { 
#ifdef DEBUG
            if (a.size()!=b.size()) ERROR("Vector size mismatch in distance.");
#endif
            return pdist(&a[0],&b[0],a.size()); 
        }
开发者ID:anurags92,项目名称:sketchmap,代码行数:7,代码来源:dimreduce.hpp


示例6: set_points

 void set_points(const FMatrix<double>& nP, const FMatrix<double>& np, const std::valarray<double>& nw=std::valarray<double>(0))
 {
     if ((n=nP.rows())<1 || (D=nP.cols())<1) ERROR("Hi-dimensional array has inconsistent sizes.");
     if (np.rows()!=n || (d=np.cols())<1 || d>D) ERROR("Low-dimensional array has inconsistent sizes.");
     P=nP; p=np; ftainted=true;
     w.resize(n); if (nw.size()==0) w=1.0; else w=nw;
 }
开发者ID:anurags92,项目名称:sketchmap,代码行数:7,代码来源:dimreduce.hpp


示例7: addData

         void addData(const std::valarray<T>& statData,
            const std::valarray<T>& binDataX,
            const std::valarray<T>& binDataY)
         {
            size_t s = statData.size();

            if ( (s!=binDataX.size()) || (s!=binDataY.size()) )
            {
               DenseBinnedStatsException e("Input arrays not the same length.");
               GPSTK_THROW(e);
            }

            T thisX, thisY;
            for (size_t i=0; i<s; i++)
            {
               thisX = binDataX[i];
               thisY = binDataY[i];

               if ( (thisX < minX) || (thisX > maxX ) ||
                  (thisY < minY) || (thisY > maxY) )
                  rejectedCount++;
               else
               {
                  size_t ibin = static_cast<size_t>(std::floor((thisX - minX)*stats.size()/(maxX-minX)));
                  size_t jbin = static_cast<size_t>(std::floor((thisY-minY)*(stats[ibin].size()/(maxY-minY))));
                  stats[ibin][jbin].Add(statData[i]);
                  // find right bin and Add()
                  usedCount++;
               }
            }

         };
开发者ID:ianmartin,项目名称:GPSTk,代码行数:32,代码来源:DenseBinnedStats.hpp


示例8: RandomTestOctic

void RandomTestOctic(std::valarray<T> & coefficients, std::valarray<T> & solutions)
{
	solutions.resize(8);
	for (int ii=0; ii<8; ii++)
		solutions[ii] = Random<T>::Generate();


	const T& s0 = solutions[0];
	const T& s1 = solutions[1];
	const T& s2 = solutions[2];
	const T& s3 = solutions[3];
	const T& s4 = solutions[4];
	const T& s5 = solutions[5];
	const T& s6 = solutions[6];
	const T& s7 = solutions[7];

	coefficients.resize(8); // omitting the 1, so it's monic

	coefficients[0] = s0*s1*s2*s3*s4*s5*s6*s7;
	coefficients[1] = - s7*(s6*(s5*(s4*(s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s0*s1*s2*s3) + s0*s1*s2*s3*s4) + s0*s1*s2*s3*s4*s5) - s0*s1*s2*s3*s4*s5*s6;
	coefficients[2] = s7*(s6*(s4*(s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s5*(s4*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2)) + s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s0*s1*s2*s3) + s5*(s4*(s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s0*s1*s2*s3) + s0*s1*s2*s3*s4) + s6*(s5*(s4*(s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s0*s1*s2*s3) + s0*s1*s2*s3*s4) + s0*s1*s2*s3*s4*s5;
	coefficients[3] = - s7*(s4*(s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s5*(s4*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2)) + s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s6*(s5*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2) + s4*(s0 + s1 + s2 + s3)) + s4*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2)) + s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s0*s1*s2*s3) - s6*(s4*(s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s5*(s4*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2)) + s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s0*s1*s2*s3) - s5*(s4*(s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s0*s1*s2*s3) - s0*s1*s2*s3*s4;
	coefficients[4] = s7*(s5*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2) + s4*(s0 + s1 + s2 + s3)) + s4*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2)) + s6*(s2*(s0 + s1) + s0*s1 + s5*(s0 + s1 + s2 + s3 + s4) + s3*(s0 + s1 + s2) + s4*(s0 + s1 + s2 + s3)) + s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s4*(s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s5*(s4*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2)) + s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s6*(s5*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2) + s4*(s0 + s1 + s2 + s3)) + s4*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2)) + s3*(s2*(s0 + s1) + s0*s1) + s0*s1*s2) + s0*s1*s2*s3;
	coefficients[5] = - s5*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2) + s4*(s0 + s1 + s2 + s3)) - s4*(s2*(s0 + s1) + s0*s1 + s3*(s0 + s1 + s2)) - s7*(s2*(s0 + s1) + s0*s1 + s5*(s0 + s1 + s2 + s3 + s4) + s3*(s0 + s1 + s2) + s6*(s0 + s1 + s2 + s3 + s4 + s5) + s4*(s0 + s1 + s2 + s3)) - s6*(s2*(s0 + s1) + s0*s1 + s5*(s0 + s1 + s2 + s3 + s4) + s3*(s0 + s1 + s2) + s4*(s0 + s1 + s2 + s3)) - s3*(s2*(s0 + s1) + s0*s1) - s0*s1*s2;
	coefficients[6] = s2*(s0 + s1) + s0*s1 + s7*(s0 + s1 + s2 + s3 + s4 + s5 + s6) + s5*(s0 + s1 + s2 + s3 + s4) + s3*(s0 + s1 + s2) + s6*(s0 + s1 + s2 + s3 + s4 + s5) + s4*(s0 + s1 + s2 + s3);
	coefficients[7] = - s0 - s1 - s2 - s3 - s4 - s5 - s6 - s7;
}
开发者ID:ofloveandhate,项目名称:nups,代码行数:27,代码来源:using_valarrays.cpp


示例9: diff

        void diff(const std::valarray<double>& a, const std::valarray<double>& b, std::valarray<double>& c) const
        {
#ifdef DEBUG
            if (a.size()!=b.size()) ERROR("Vector size mismatch in distance.");
#endif
            c.resize(a.size()); pdiff(&a[0], &b[0], &c[0], a.size()); 
        }
开发者ID:anurags92,项目名称:sketchmap,代码行数:7,代码来源:dimreduce.hpp


示例10: assert

 const matrix<T,D,A>
 operator * ( const std::valarray<T_>& lhs, const matrix<T,D,A>& rhs )
 {
     assert( rhs.row() == lhs.size() );
     matrix<T,D,A> ans(1, lhs.row());
     for ( std::size_t i = 0; i < rhs.col(); ++i )
         ans[0][i] = std::inner_product( std::begin(lhs), std::begin(lhs)+rhs.row(), rhs.col_begin(i), T() );
     return ans;
 }
开发者ID:,项目名称:,代码行数:9,代码来源:


示例11: main

int main ()
{
    const std::valarray<int> a;

    a.cshift (1);

    assert (0 == a.size ());

    return 0;
} 
开发者ID:Flameeyes,项目名称:stdcxx,代码行数:10,代码来源:26.valarray.members.stdcxx-318.cpp


示例12: is_equal

void is_equal(std::valarray<T> const &left, std::valarray<T> const &right)
{
    BOOST_CHECK_EQUAL(left.size(), right.size());
    if(left.size() == right.size())
    {
        for(std::size_t i = 0; i < left.size(); ++i)
        {
            is_equal_or_close(left[i], right[i]);
        }
    }
}
开发者ID:AbhinavJain13,项目名称:turicreate,代码行数:11,代码来源:valarray.cpp


示例13: bar

 //
 // *b*it *ar*ithmetics (BAR)
 //
 template<class T> inline void bar(   
         const Perm_matrix<T>& pmat, //matrix of predefined permutations
         const bitset_t& b,          //bitset aka dummy coded data
         std::valarray<T>& res)      //results are written into res
 {
     assert (b.size() == pmat.bitMat_.front().size());
     assert (res.size() == pmat.bitMat_.size());
     for (size_t i=0; i<res.size(); i++) {
         res[i] = (b & pmat.bitMat_[i]).count();
     }
 }
开发者ID:rpahl,项目名称:permory,代码行数:14,代码来源:boost_algorithms.hpp


示例14: load

void load( Archive & ar, STD::valarray<U> &t,  const unsigned int /*file_version*/ )
{
    collection_size_type count;
    ar >> BOOST_SERIALIZATION_NVP(count);
    t.resize(count);
    if (t.size()){
        // explict template arguments to pass intel C++ compiler
        ar >> serialization::make_array<U, collection_size_type>(
            static_cast<U *>( boost::addressof(t[0]) ),
            count
        );
    }
开发者ID:LocutusOfBorg,项目名称:poedit,代码行数:12,代码来源:valarray.hpp


示例15: get_array_size

// returns the size of the index array represented by the genreralized slice
static std::size_t
get_array_size (const std::gslice &gsl)
{
    const std::valarray<std::size_t> sizes = gsl.size ();

    std::size_t asize = sizes.size () ? 1 : 0;

    for (std::size_t i = 0; i != sizes.size (); ++i) {
        asize *= sizes [i];
    }

    return asize;
}
开发者ID:Quna,项目名称:mspdev,代码行数:14,代码来源:26.class.gslice.cpp


示例16: product

std::valarray<T> product(const std::valarray<T>& x, const valmatrix<T>& y)
{
    if (x.size() != y.size())
        std::logic_error("Non equal matrices.");

    std::valarray<T> result(x.size());
    for (size_t j = 0; j < x.size(); ++j)
        for (size_t k = 0; k < x.size(); ++k)
        {
            result[j] += x[k] * y[k][j];
        }
    return result;
}
开发者ID:anwinged,项目名称:reed-solomon,代码行数:13,代码来源:valmatrix.hpp


示例17: main

int main ()
{
    const int vals[] = { 1, 0 };
    const std::size_t N = sizeof vals / sizeof *vals;

    const std::valarray<int> p (vals, N);

    assert (N == p.size ());

    const std::valarray<int> r = p [std::slice (0, 0, 1)];

    assert (0 == r.size ());
}
开发者ID:Flameeyes,项目名称:stdcxx,代码行数:13,代码来源:26.valarray.sub.stdcxx-224.cpp


示例18: _runGrayToneMapping

// run the initilized retina filter in order to perform gray image tone mapping, after this call all retina outputs are updated
void _runGrayToneMapping(const std::valarray<float> &grayImageInput, std::valarray<float> &grayImageOutput)
{
     // apply tone mapping on the multiplexed image
    // -> photoreceptors local adaptation (large area adaptation)
    _multiuseFilter->runFilter_LPfilter(grayImageInput, grayImageOutput, 0); // compute low pass filtering modeling the horizontal cells filtering to acess local luminance
    _multiuseFilter->setV0CompressionParameterToneMapping(1.f, grayImageOutput.max(), _meanLuminanceModulatorK*grayImageOutput.sum()/(float)_multiuseFilter->getNBpixels());
    _multiuseFilter->runFilter_LocalAdapdation(grayImageInput, grayImageOutput, _temp2); // adapt contrast to local luminance

    // -> ganglion cells local adaptation (short area adaptation)
    _multiuseFilter->runFilter_LPfilter(_temp2, grayImageOutput, 1); // compute low pass filtering (high cut frequency (remove spatio-temporal noise)
    _multiuseFilter->setV0CompressionParameterToneMapping(1.f, _temp2.max(), _meanLuminanceModulatorK*grayImageOutput.sum()/(float)_multiuseFilter->getNBpixels());
    _multiuseFilter->runFilter_LocalAdapdation(_temp2, grayImageOutput, grayImageOutput); // adapt contrast to local luminance

}
开发者ID:23pointsNorth,项目名称:opencv_contrib,代码行数:15,代码来源:retinafasttonemapping.cpp


示例19: setProgressiveFilterConstants_CustomAccuracy

void BasicRetinaFilter::setProgressiveFilterConstants_CustomAccuracy(const float beta, const float tau, const float k, const std::valarray<float> &accuracyMap, const unsigned int filterIndex)
{

	if (accuracyMap.size()!=_filterOutput.size())
	{
		std::cerr<<"BasicRetinaFilter::setProgressiveFilterConstants_CustomAccuracy: error: input accuracy map does not match filter size, init skept"<<std::endl;
		return ;
	}

	// check if dedicated buffers are already allocated, if not create them
	if (_progressiveSpatialConstant.size()!=_filterOutput.size())
	{
		_progressiveSpatialConstant.resize(accuracyMap.size());
		_progressiveGain.resize(accuracyMap.size());
	}

	float _beta = beta+tau;
	float _alpha=k*k;
	float _mu=0.8f;
	if (k<=0)
	{
		std::cerr<<"BasicRetinaFilter::spatial filtering coefficient must be superior to zero, correcting value to 0.01"<<std::endl;
		//alpha0=0.0001;
	}
	unsigned int tableOffset=filterIndex*3;
	float _temp =  (1.0f+_beta)/(2.0f*_mu*_alpha);
	float _a=_filteringCoeficientsTable[tableOffset] = 1.0f + _temp - (float)sqrt( (1.0f+_temp)*(1.0f+_temp) - 1.0f);
	_filteringCoeficientsTable[tableOffset+1]=(1.0f-_a)*(1.0f-_a)*(1.0f-_a)*(1.0f-_a)/(1.0f+_beta);
	_filteringCoeficientsTable[tableOffset+2] =tau;

	//memset(_progressiveSpatialConstant, 255, _filterOutput.getNBpixels());
	for (unsigned int idColumn=0;idColumn<_filterOutput.getNBcolumns(); ++idColumn)
		for (unsigned int idRow=0;idRow<_filterOutput.getNBrows(); ++idRow)
		{
			// computing local spatial constant
			unsigned int index=idColumn+idRow*_filterOutput.getNBcolumns();
			float localSpatialConstantValue=_a*accuracyMap[index];
			if (localSpatialConstantValue>1)
				localSpatialConstantValue=1;

			_progressiveSpatialConstant[index]=localSpatialConstantValue;

			// computing local gain
			float localGain=(1.0f-localSpatialConstantValue)*(1.0f-localSpatialConstantValue)*(1.0f-localSpatialConstantValue)*(1.0f-localSpatialConstantValue)/(1.0f+_beta);
			_progressiveGain[index]=localGain;

			//std::cout<<commonFactor<<", "<<sqrt((_halfNBcolumns-1-idColumn)+(_halfNBrows-idRow-1))<<", "<<(_halfNBcolumns-1-idColumn)<<", "<<(_halfNBrows-idRow-1)<<", "<<localSpatialConstantValue<<std::endl;
		}
}
开发者ID:heroacool,项目名称:OpenCVMirror,代码行数:49,代码来源:basicretinafilter.cpp


示例20: resize

template <class T> FMatrix<U>::FMatrix(const std::valarray<std::valarray<T> >& s)
{
#ifdef DEBUG
    if (s.size()<1 || s[0].size()<1) ERROR("Trying to initialize FMatrix from empty valarray")
#endif 
    resize(s.size(), s[0].size());
    index_type k=0;
    for (index_type i=0; i<wr; ++i)
    {
#ifdef DEBUG
        if (s[i].size()!=wc) ERROR("Element "<<i<<" in valarray has wrong dimension")
#endif 
        for (index_type j=0; j<wc; ++j) data[k++]=(U)s[i][j];
    }
}
开发者ID:anurags92,项目名称:sketchmap,代码行数:15,代码来源:matrix-conv.hpp



注:本文中的std::valarray类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ std::vector类代码示例发布时间:2022-05-31
下一篇:
C++ std::unordered_set类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap