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

C++ counts函数代码示例

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

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



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

示例1: counts

int counts(struct node *p)
{
				int l,r;
				if(p) {
								 l = 1 + counts(p -> left);
								 r = 1 + counts(p -> right);
								 return l>r?l:r;
				} else
					 return 0;
}
开发者ID:shijith,项目名称:toy,代码行数:10,代码来源:avl.c


示例2: getImportList

size_t getImportList(
   const PartitioningSolution<SolutionAdapter> &solution,
   const DataAdapter * const data,
   ArrayRCP<typename DataAdapter::zgid_t> &imports // output
)
{
  typedef typename PartitioningSolution<SolutionAdapter>::part_t part_t;
  typedef typename PartitioningSolution<SolutionAdapter>::gno_t gno_t;
  typedef typename DataAdapter::zgid_t zgid_t;

  size_t numParts = solution.getActualGlobalNumberOfParts();
  int numProcs = solution.getCommunicator()->getSize();

  if (numParts > size_t(numProcs)) {
    char msg[256];
    sprintf(msg, "Number of parts %lu exceeds number of ranks %d; "
                 "%s requires a MappingSolution for this case\n",
                  numParts, numProcs, __func__);
    throw std::logic_error(msg);
  }

  size_t localNumIds = data->getLocalNumIDs();
  const zgid_t *gids = NULL;
  data->getIDsView(gids);

  const part_t *parts = solution.getPartListView();

  // How many ids to each process?
  Array<int> counts(numProcs, 0);
  for (size_t i=0; i < localNumIds; i++)
    counts[parts[i]]++;

  Array<gno_t> offsets(numProcs+1, 0);
  for (int i=1; i <= numProcs; i++){
    offsets[i] = offsets[i-1] + counts[i-1];
  }

  Array<typename DataAdapter::zgid_t> gidList(localNumIds);
  for (size_t i=0; i < localNumIds; i++) {
    gno_t idx = offsets[parts[i]];
    gidList[idx] = gids[i];
    offsets[parts[i]] = idx + 1;
  }

  Array<int> recvCounts(numProcs, 0);
  try {
    AlltoAllv<zgid_t>(*(solution.getCommunicator()),
                      *(solution.getEnvironment()),
                      gidList(), counts(), imports, recvCounts());
  }
  Z2_FORWARD_EXCEPTIONS;

  return imports.size();
}
开发者ID:rainiscold,项目名称:trilinos,代码行数:54,代码来源:Zoltan2_PartitioningHelpers.hpp


示例3: counts

int counts(int tot, int* coins, int highest) {
	calls++;

	if( tot <  0) return 0; 
	if( tot == 0) return 1;
	
	int sum = counts(tot - coins[highest], coins, highest );
	
	if(highest > 0)
			sum += counts(tot, coins, highest-1 );

	return sum;
}
开发者ID:hugobenichi,项目名称:doodles,代码行数:13,代码来源:9.8_coins.c


示例4: score_value

        void score_value(const Model & model, AlignedFloats scores) const {
            if (DIST_DEBUG_LEVEL >= 1) {
                DIST_ASSERT_EQ(scores.size(), counts().size());
            }

            const size_t size = counts().size();
            const float shift = -fast_log(sample_size() + model.alpha);
            const float * __restrict__ in = VectorFloat_data(shifted_scores_);
            float * __restrict__ out = VectorFloat_data(scores);

            for (size_t i = 0; i < size; ++i) {
                out[i] = in[i] + shift;
            }
        }
开发者ID:datamicroscopes,项目名称:distributions,代码行数:14,代码来源:clustering.hpp


示例5: counts

    void ArithmeticUtilDecoder::decode(std::vector<byte>& data) {
        long p = in->pos;
        uint64 length = in->read48bits();
        bits_left = in->read48bits()*8;
        //       std::cout<<"Current position: "<<in->pos<<" - "<<" bits to read: "<<bits_left<<"\n";
        data.resize(length);
        std::vector<uint64> counts(256);
        std::vector<SYMBOL> symbols(256);
        utils::gammaDecode(counts,in);
        in->flushBuffer();
        uint64 cumul=0;
        for(int i=0;i<256;i++) {
            symbols[i].low_count=cumul;
            symbols[i].high_count = cumul = cumul + counts[i];
        }
        byte aa = in->readByte();
        byte bb = in->readByte();
        byte cc = in->readByte();
        byte dd = in->readByte();
        bits_left-=32;
        code = (aa<<24)|(bb<<16)|(cc<<8)|dd;
        for(int i=0;i<length;i++) {
            uint64 v = get_value();
            byte b = get_byte(symbols,v);
            if(i+1<length)    del_symbol(symbols[b]);
            data[i]=b;
        }
        in->flushBuffer();

    }
开发者ID:jkokkala,项目名称:bwtc,代码行数:30,代码来源:ArithmeticUtil.cpp


示例6: maxneb_disc

int maxneb_disc () {
	Rcpp::IntegerVector targs(targets);
	Rcpp::IntegerVector nebs(neighbors);
	Rcpp::IntegerVector plot(plots);
	Rcpp::CharacterVector status(stat);
	Rcpp::IntegerVector xx(bqudx);
	Rcpp::IntegerVector yy(bqudy);
	Rcpp::IntegerVector tt(time);
	int rad = Rcpp::as<int>(sr);
	Rcpp::IntegerVector counts(targs.size());
	int max_neb = 0;

	for (int i = 0, n = targs.size(); i < n; i++) {
		int targ = index(targs[i], nebs);
		int num_nebs= 0;
		for (int neb = 0, n2 = nebs.size(); neb < n2; neb++) {
			if (targ != neb && plot[targ] == plot[neb] &&
				(std::strcmp("ALIVE", status[neb]) == 0) &&
				(xx[targ] + sr > xx[neb]) && (xx[targ] - sr < xx[neb]) &&
				(yy[targ] + sr > yy[neb]) && (yy[targ] - sr < yy[neb]) &&
				tt[targ] == tt[neb])
				num_nebs++;
		}
		counts[i] = num_nebs;
	}

	return std::max_element(counts.begin(), counts.end(), myfn);

}
开发者ID:nverno,项目名称:allometry,代码行数:29,代码来源:maxnebs.cpp


示例7: counts

// bootstrapping
std::vector<float> Classifier::getBootstrap(const KmerSequence& querySeq, RandomGen &generator, const searchHit& hit)
{
    KmerSequence bootstrap;
    std::vector<kmerSize_t>kmers = querySeq.kmers;
    std::vector<float> counts(referenceData_.numLevels(), 0.f);
    int bootstrap_size = kmers.size() / subsampleSize_;
    
    for (unsigned int bs=0; bs<numBootstrap_; bs++)
    {
        std::random_shuffle(kmers.begin(), kmers.end(), generator);
        bootstrap.kmers = std::vector<kmerSize_t>(kmers.begin(), kmers.begin() + bootstrap_size);
        searchHit bsHit = referenceData_.search(bootstrap);
        
        for (unsigned int i=0; i<referenceData_.numLevels(); i++)
        {
            if (hit.annotationIds[i].size() == 1)
            {
                if(std::find(bsHit.annotationIds[i].begin(), bsHit.annotationIds[i].end(), *hit.annotationIds[i].begin()) != bsHit.annotationIds[i].end())
                {
                    counts[i] += static_cast<float>(std::count(bsHit.annotationIds[i].begin(), bsHit.annotationIds[i].end(), *hit.annotationIds[i].begin())) / static_cast<float>(bsHit.annotationIds[i].size());
                }
            }
        }
    }

    std::vector<float> retVec;
    for (unsigned int i=0; i<referenceData_.numLevels(); i++)
    {
        retVec.push_back(counts[i] / static_cast<float>(numBootstrap_));
    }

    return retVec;
}
开发者ID:GuyAllard,项目名称:SPINGO,代码行数:34,代码来源:classifier.cpp


示例8: makeGraph

TGraph* 
makeGraph(const TArrayI& adcs, Int_t rate) 
{
  Int_t    last = adcs.fArray[0];
  TArrayI  counts(4);
  TGraph*  graph = new TGraph(rate * adcs.fN);
  graph->SetLineColor(rate);
  graph->SetMarkerColor(rate);
  graph->SetMarkerStyle(20+rate);
  graph->SetLineStyle(rate);
  graph->SetName(Form("rate%d", rate));
  graph->SetTitle(Form("Rate %d", rate));
  for (Int_t i = 0; i < adcs.fN; i++) { 
    counts.Reset(-1);
    convert(rate, adcs.fArray[i], last, counts);
    
    for (Int_t j = 0; j < rate; j++) { 
      Int_t    idx = (i * rate + j);
      Double_t x   = (i + (rate > 1 ? Float_t(j+1) / rate-1 : 0));
      graph->SetPoint(idx, x, counts[j]);
    }
    last = counts[rate - 1];
  }
  return graph;
}
开发者ID:alisw,项目名称:AliRoot,代码行数:25,代码来源:TestShaping.C


示例9: counts

char MultiSequence::GetAnnotationChar(const std::vector<char> &column) const
{
    std::vector<int> counts(256, 0);
    char annot[] = ":::::::::...........";
    const char *groups[20] = { "STA", "NEQK", "NHQK", "NDEQ", "QHRK",
                               "MILV", "MILF", "HY", "FYW", "CSA", 
                               "ATV", "SAG", "STNK", "STPA", "SGND", 
                               "SNDEQK", "NDEQHK", "NEHQRK", "FVLIM", "HFY" };
    
    for (size_t i = 0; i < column.size(); i++)
        counts[BYTE(toupper(column[i]))]++;
    
    for (int i = 0; i < 256; i++)
        if (char(i) != '-' && counts[i] == int(column.size()))
            return '*';
    
    for (int i = 0; i < 20; i++)
    {
        int total_counts = 0;
        for (size_t j = 0; j < strlen(groups[i]); j++) 
            total_counts += counts[BYTE(groups[i][j])];
        if (total_counts == int(column.size()))
            return annot[i];
    }

    return ' ';
}
开发者ID:TakashiMatsuda,项目名称:ractIP_alifold,代码行数:27,代码来源:MultiSequence.cpp


示例10: set_cpu

void threads::output() {
    set_cpu(1);

    /*fill the indexes*/
    std::vector<size_t> indexes(blocks.size());
    for (size_t i = 0; i < blocks.size(); i++) { indexes[i] = i; }

    /*initialize stored last-output counts*/
    std::vector<size_t> counts(blocks.size(), 0);

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wmissing-noreturn"
    while (true) {

        /*mix around the indexes*/
        std::shuffle(indexes.begin(), indexes.end(), primary_rng);

        for (size_t i = 0; i < blocks.size(); i++) {

            /*if the block is new*/
            if (blocks[indexes[i]].count > counts[indexes[i]]) {

                /*update the block count*/
                counts[indexes[i]] = blocks[indexes[i]].count;
                output_stream.write((const char *) blocks[indexes[i]].data,
                                    blocksize);
                output_stream.flush();

            }
        }
    }
#pragma clang diagnostic pop
}
开发者ID:Joshua-Wright,项目名称:threaded_rng,代码行数:33,代码来源:threads.cpp


示例11: gather

    static void gather(const communicator& comm, const std::vector<T>& in, std::vector< std::vector<T> >& out, int root)
    {
      std::vector<int>  counts(comm.size());
      Collectives<int,void*>::gather(comm, (int) in.size(), counts, root);

      std::vector<int>  offsets(comm.size(), 0);
      for (unsigned i = 1; i < offsets.size(); ++i)
        offsets[i] = offsets[i-1] + counts[i-1];

      std::vector<T> buffer(offsets.back() + counts.back());
      MPI_Gatherv(Datatype::address(const_cast<T&>(in[0])),
                  in.size(),
                  Datatype::datatype(),
                  Datatype::address(buffer[0]),
                  &counts[0],
                  &offsets[0],
                  Datatype::datatype(),
                  root, comm);

      out.resize(comm.size());
      size_t cur = 0;
      for (unsigned i = 0; i < (unsigned)comm.size(); ++i)
      {
          out[i].reserve(counts[i]);
          for (unsigned j = 0; j < (unsigned)counts[i]; ++j)
              out[i].push_back(buffer[cur++]);
      }
    }
开发者ID:SINTEFMedtek,项目名称:VTK,代码行数:28,代码来源:collectives.hpp


示例12: counts

 Vector DPMM::allocation_counts() const {
   Vector counts(mixture_components_.size());
   for (int i = 0; i < mixture_components_.size(); ++i) {
     counts[i] = mixture_components_[i]->suf()->n();
   }
   return counts;
 }
开发者ID:cran,项目名称:Boom,代码行数:7,代码来源:DirichletProcessMvnModel.cpp


示例13: BOOST_AUTO_TEST_CASE_TEMPLATE

BOOST_AUTO_TEST_CASE_TEMPLATE(GoodnessOfFit, RandomGenerator, RandomGenerators)
{
  // Kolmogorov-Smirnov Goodness-of-Fit Test
  // http://www.itl.nist.gov/div898/handbook/eda/section3/eda35g.htm

  const size_t MAX_BINS = 32;
  const uint32_t MAX_ITERATIONS = 35;

  std::vector<uint32_t> counts(MAX_BINS, 0);

  for (uint32_t i = 0; i < MAX_ITERATIONS; i++) {
    counts[RandomGenerator::generate() % MAX_BINS]++;
  }

  std::vector<double> edf(MAX_BINS, 0.0);
  double probability = 0.0;
  for (size_t i = 0; i < MAX_BINS; i++) {
    probability += 1.0 * counts[i] / MAX_ITERATIONS;
    edf[i] = probability;
  }

  double t = 0.0;
  for (size_t i = 0; i < MAX_BINS; i++) {
    t = std::max(t, std::abs(edf[i] - (i * 1.0 / MAX_BINS)));
  }

  // Check if it is uniform distribution with confidence 0.95
  // http://dlc.erieri.com/onlinetextbook/index.cfm?fuseaction=textbook.appendix&FileName=Table7
  BOOST_WARN_LE(t, 0.230);
}
开发者ID:JianpengWang,项目名称:ndn-cxx,代码行数:30,代码来源:test-random.cpp


示例14: calculateProbabilityHist

	std::vector<std::pair<double, double>> calculateProbabilityHist(const std::vector<int>& data, int bin_size) {
		// Check for valid input data
		if ((int)data.size() == 0) {
			cout << "Error! Cannot calculate probability histogram because the input data vector is empty." << endl;
			throw invalid_argument("Error! Cannot calculate probability histogram because the input data vector is empty.");
		}
		// Determine the starting bin position
		int min_val = *min_element(data.begin(), data.end());
		int max_val = *max_element(data.begin(), data.end());
		// Determine number of bins
		int num_bins = (int)((double)(max_val - min_val + 1) / (double)bin_size);
		// Calculate bins
		vector<pair<double, double>> hist(num_bins, make_pair(0.0, 0.0));
		for (int i = 0; i < num_bins; i++) {
			hist[i].first = min_val + 0.5*(bin_size - 1) + (bin_size - 1) * i;
		}
		// Calculate histogram
		vector<int> counts(num_bins, 0);
		int index;
		for (int i = 0; i < (int)data.size(); i++) {
			index = (data[i] - min_val) / bin_size;
			counts[index]++;
		}
		// total counts
		int total_counts = accumulate(counts.begin(), counts.end(), 0);
		// Normalized histogram to get probability
		for (int i = 0; i < num_bins; i++) {
			hist[i].second = (double)counts[i] / (double)(total_counts);
		}
		return hist;
	}
开发者ID:MikeHeiber,项目名称:Ising_OPV,代码行数:31,代码来源:Utils.cpp


示例15: maximalRectangle

  int maximalRectangle(vector<vector<char> > &matrix) {
    if (0 == matrix.size()) {
      return 0;
    }

    int result = INT_MIN;
    int height = matrix.size();
    int width = matrix[0].size();
    int row;
    int col;
    vector<vector<int> > counts(height, vector<int>(width, 0));

    for (row = 0; row < height; ++row) {
      for (col = 0; col < width; ++col) {
        if (matrix[row][col] != '0') {
          if (0 == row) {
            counts[row][col] = 1;
          }
          else {
            // 每一行往上数,包括自己有几个1。
            counts[row][col] = counts[row - 1][col] + 1;
          }
        }
      }
    }

    for (row = 0; row < height; ++row) {
      result = max(result, maximal_rectangle(counts[row]));
    }

    return result;
  }
开发者ID:CuriousBoy0822,项目名称:LeetCodeInCpp,代码行数:32,代码来源:maximal_rectangle.cpp


示例16: readTokenMatrix

      void readTokenMatrix(Dataset& data, const char* filename) {
	std::vector<string> lines;
	loadFile(lines, filename);

	assert(lines.size() > 1);
	std::vector<int> counts(2);
	tokenizeLineIntoIntVector(lines[1], counts);
	assert(counts.size() == 2);
	//cout << "Found: " << counts[0] << " and " << counts[1] << endl;
	data.numDocs = counts[0];
	data.numTokens = counts[1];

	vec trainClasses(data.numDocs);
	mat features(data.numDocs, data.numTokens);
	rowvec row(data.numTokens);

	for(uint i = 3; i < data.numDocs + 3; i++) {
	  std::vector<double> tokens(getNumTokens(lines[i]));
	  tokenizeLineIntoDoubleVector(lines[i], tokens);
	  trainClasses(i-3) = tokens[0];
	  //cout << "class[" << tokens[0] << "]";
	  row.zeros();
	  int cumsum = 0;
	  for(uint j = 1; j < tokens.size() - 1; j+=2) {
	    cumsum += tokens[j];
	    //cout << "cumsum[" << cumsum << "]token[" << tokens[j+1] << "]" << flush ;
	    row[cumsum] = tokens[j+1];
	  }
	  Matrix::setMatrixRowToVector(features, i-3 ,row);
	}
	
	data.classifications = trainClasses;
	data.features = features;

      }
开发者ID:bilian1995,项目名称:Delite,代码行数:35,代码来源:OptiML.hpp


示例17: error

    virtual double             error(void) const{
        // Compute uncertainty
        double error = sqrt(counts()+1.0e-50);

        // Return error
        return error;
    }
开发者ID:TarekHC,项目名称:gammalib,代码行数:7,代码来源:GTestEventBin.hpp


示例18: sendto

void SparseMsg::setPattern(UInt num, const UInt *proc) {

  UInt csize = Par::Size();

  // Set dest proc
  nsend = num;

  std::vector<int> sendto(nproc, 0);
  std::vector<int> counts(nproc, 1);
  for (UInt i = 0; i < num; i++) {
    ThrowRequire(proc[i] < csize);
    sendto[proc[i]] = 1;
    if (proc[i] == (UInt) rank) {
      sendself = true;
      self_idx = i;
    }
  }

  !Par::Serial() ? MPI_Reduce_scatter(&sendto[0], &num_incoming, &counts[0], MPI_INT, MPI_SUM, comm)
    : num_incoming = sendto[0];
//std::cout << "Proc:" << rank << "to receive " << num_incoming << " messages" << std::endl;

  // Set up send buffers (so we don't have save the proc ids
  if (nsend > 0) outBuffers.resize(nsend); else outBuffers.clear();
  for (UInt i = 0; i < nsend; i++) {
    outBuffers[i].proc = proc[i];
  }
}
开发者ID:xunzhang,项目名称:ESMF_Regridding,代码行数:28,代码来源:ESMCI_SparseMsg.C


示例19: load_nc_array

template<class T> static bool load_nc_array(const NcFile& ncf, const string& name, vector<T>& dest, bool required = true, int offset = 0, int count = -1)
{
	NcVar *v = load_nc_variable(ncf, name.c_str(), required);
	if (v)
	{
		vector<long> offsets = list_of(offset).repeat(v->num_dims()-1, 0);
		v->set_cur(&offsets.front());
		vector<long> counts (v->num_dims());
		long* shape = v->edges();
		transform(shape, shape + v->num_dims(), offsets.begin(), counts.begin(), minus<long>());
		delete shape;
		if (count > 0)
		{
			counts[0] = count;
		}
		dest.resize(product(counts));
		bool success = v->get(&dest.front(), &counts.front());
		if (!success)
		{
			dest.resize(0);
			check(!required, string("NetcdfDataset::load_nc_array<") + typeid(T).name() + "> " + name + '\n' + "failed with offset " + str(offsets) + ", counts " + str(counts));
		}
		return success;
	}
	return false;
}
开发者ID:tpajenka,项目名称:RNNLIB,代码行数:26,代码来源:NetcdfDataset.hpp


示例20: radixSort

radixSort(std::vector<T> v)
{

    std::vector<T> tmp;

    size_t radix_count = sizeof(T); // we process elements in 256 counting system. Each radix = byte.


    for (size_t radix = 0; radix < radix_count; ++radix)
    {
        std::vector<size_t> counts(radix_count);

        for (auto x : v)
        {
            // get radix
            auto radix = getRadix(x);
            
            // increase radix count at its position


        }

        // calculate cumulative summs
        // write elements from V to TMP according to cum_sums positions. Modify cum_sums after writing an element

        v.swap(tmp);
    }


    

}
开发者ID:ddolzhenko,项目名称:traning_algos_2016_06,代码行数:32,代码来源:radixMy.cpp



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ coupled函数代码示例发布时间:2022-05-30
下一篇:
C++ countof函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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