Example #1
0
void SwDoor::setNewStoredPoint(QPointF &inp_p, QPointF &next_p) {
    storePoint(inp_p);
    P_ = next_p;

    calcCoef(P_, U_);
    calcCoef(P_, L_);
}
Example #2
0
bool SwDoor::moveDoorLine(QPointF &p, QPointF &what_moving)
{
    calcCoef(p, what_moving);
    if (setP())
        return true;
    else
        return false;
}
Example #3
0
STStatFrame* InitStatsFrame(  int fps){

	if (!Stats){
		Stats = ( STStatFrame *) malloc( sizeof(STStatFrame));
		if(!Stats) {error(4); exit(1) ;}
	}

	if(!Coef){
		Coef =  ( STStatsCoef *) malloc( sizeof(STStatsCoef));
		calcCoef( fps );
	}

	// iniciar vector de cantidad de movimiento por frame
	if(!vectorSumFr) {
		vectorSumFr = ( tlcde * )malloc( sizeof(tlcde ));
		if( !vectorSumFr ) {error(4);exit(1);}
		iniciarLcde( vectorSumFr );
	}

//	// FRAME
//	Stats->TiempoFrame = obtenerTiempo( tif, 0 );
//	Stats->TiempoGlobal = obtenerTiempo( tinicio, 1);
//	Stats->totalFrames = TotalFrames;
//	Stats->numFrame = NumFrame;
//	Stats->fps = FPS;
	// BLOBS
	Stats->TProces = 0;
	Stats->TTacking= 0;
	Stats->staticBlobs= 0; //!< blobs estáticos en tanto por ciento.
	Stats->dinamicBlobs= 0; //!< blobs en movimiento en tanto por ciento
	Stats->TotalBlobs= 0; //!< Número total de blobs.

	Stats-> CMov1SMed = 0;  //!< Cantidad de movimiento medio en los últimos 30 seg.
	Stats-> CMov1SDes = 0;
	Stats-> CMov30SMed = 0;  //!< Cantidad de movimiento medio en los últimos 30 seg.
	Stats-> CMov30SDes = 0;
	Stats-> CMov1Med = 0;  //!< Cantidad de movimiento medio en el último min.
	Stats-> CMov1Des = 0;
	Stats-> CMov5Med = 0;  //!< Cantidad de movimiento medio en los últimos 5 min.
	Stats-> CMov5Des = 0;
	Stats-> CMov10Med = 0;  //!< Cantidad de movimiento medio en los últimos 10 min.
	Stats-> CMov10Des = 0;
	Stats-> CMov15Med = 0;  //!< Cantidad de movimiento medio en los últimos 15 min.
	Stats-> CMov15Des = 0;
	Stats-> CMov30Med = 0;  //!< Cantidad de movimiento medio en los últimos 30 min.
	Stats-> CMov30Des = 0;
	Stats->CMov1HMed = 0;  //!< Cantidad de movimiento medio en la última hora.
	Stats-> CMov1HDes = 0;
	Stats-> CMov2HMed = 0;	//!< Cantidad de movimiento medio en  últimas 2 horas.
	Stats-> CMov2HDes = 0;
	Stats->CMov4HMed = 0;
	Stats-> CMov4HDes = 0;
	Stats->CMov8HMed = 0; //!<//!< Cantidad de movimiento medio en  últimas 2 horas.
	Stats-> CMov8HDes = 0;
	Stats->CMov16HMed = 0;
	Stats-> CMov16HDes = 0;
	Stats->CMov24HMed = 0;
	Stats-> CMov24HDes = 0;
	Stats->CMov48HMed = 0;
	Stats-> CMov48HDes = 0;
	Stats->CMovMedio = 0;
	Stats-> CMovMedioDes = 0;

	return Stats;
}
Example #4
0
File: adsr.cpp Project: eriser/fml
void ADSR::setReleaseRate(float rate) {
  releaseRate = rate;
  releaseCoef = calcCoef(rate, targetRatioDR);
  releaseBase = -targetRatioDR * (1.0 - releaseCoef);
}
Example #5
0
File: adsr.cpp Project: eriser/fml
void ADSR::setDecayRate(float rate) {
  decayRate = rate;
  decayCoef = calcCoef(rate, targetRatioDR);
  decayBase = (sustainLevel - targetRatioDR) * (1.0 - decayCoef);
}
Example #6
0
File: adsr.cpp Project: eriser/fml
void ADSR::setAttackRate(float rate) {
  attackRate = rate;
  attackCoef = calcCoef(rate, targetRatioA);
  attackBase = (1.0 + targetRatioA) * (1.0 - attackCoef);
}
Example #7
0
int fst_index(int argc,char **argv){
  if(argc<1){
    fprintf(stderr,"Must supply afile.saf.idx [chrname, write more info]\n");
    return 0; 
  }
  args *arg = getArgs(argc,argv);
  if(!arg->fstout){
    fprintf(stderr,"\t-> Must supply -fstout for doing fstindex\n");
    return 0;
  }

  std::vector<persaf *> &saf =arg->saf;
  //assert(saf.size()==2);
  size_t nSites = arg->nSites;
  if(nSites == 0){//if no -nSites is specified
    nSites = 100000;//<- set default to 100k sites, no need to load everything...
    // nSites=nsites(saf,arg);
  }
  fprintf(stderr,"\t-> nSites: %lu\n",nSites);
  std::vector<Matrix<float> *> gls;
  for(int i=0;i<saf.size();i++)
    gls.push_back(alloc<float>(nSites,saf[i]->nChr+1));

  //  int ndim= parspace(saf);
  if(arg->sfsfname.size()!=choose(saf.size(),2)){
    fprintf(stderr,"\t-> You have supplied: %lu populations, that is %d pairs\n",saf.size(),choose(saf.size(),2));
    fprintf(stderr,"\t-> You therefore need to supply %d 2dsfs priors instead of:%lu\n",choose(saf.size(),2),arg->sfsfname.size());
    exit(0);
  }
  std::vector<double *> sfs;
  int inc =0;
  for(int i=0;i<saf.size();i++)
    for(int j=i+1;j<saf.size();j++){
      size_t pairdim = (saf[i]->nChr+1)*(saf[j]->nChr+1);
      double *ddd=new double[pairdim];
      readSFS(arg->sfsfname[inc],pairdim,ddd);
      normalize(ddd,pairdim);
      sfs.push_back(ddd);
      inc++;
    }

  
  double **a1,**b1;
  a1=new double*[choose(saf.size(),2)];
  b1=new double*[choose(saf.size(),2)];
  inc=0;
  for(int i=0;i<saf.size();i++)
    for(int j=i+1;j<saf.size();j++){
      calcCoef((int)saf[i]->nChr,(int)saf[j]->nChr,&a1[inc],&b1[inc]);
      //      fprintf(stderr,"a1[%d]:%p b1[%d]:%p\n",inc,&a1[inc][0],inc,&b1[inc][0]);
      inc++;
    }

  BGZF *fstbg = openFileBG(arg->fstout,".fst.gz");
  FILE *fstfp = openFile(arg->fstout,".fst.idx");
  char buf[8]="fstv1";
  bgzf_write(fstbg,buf,8);    
  fwrite(buf,1,8,fstfp);
#if 0
  for(int i=0;i<ndim;i++)
    fprintf(stdout,"%f %f\n",a1[i],b1[i]);
  exit(0);
#endif
#if 1
  size_t nsafs=saf.size();
  fwrite(&nsafs,sizeof(size_t),1,fstfp);
  for(int i=0;i<nsafs;i++){
    size_t clen= strlen(saf[i]->fname);
    fwrite(&clen,sizeof(size_t),1,fstfp);
    fwrite(saf[i]->fname,1,clen,fstfp);
  }
#endif
  int asdf = choose(saf.size(),2);
  std::vector<double> *ares = new std::vector<double> [choose(saf.size(),2)];
  std::vector<double> *bres = new std::vector<double> [choose(saf.size(),2)];
  //  for(int i=0;i<3;i++)
    //    fprintf(stderr,"ares.size():%lu bres.size():%lu sfs:%p\n",ares[i].size(),bres[i].size(),&sfs[i][0]);
  std::vector<int> posi;
  setGloc(saf,nSites);
  int *posiToPrint = new int[nSites];
  for(myMap::iterator it = saf[0]->mm.begin();it!=saf[0]->mm.end();++it) {
    //    fprintf(stderr,"doing chr:%s\n",it->first);
    if(arg->chooseChr!=NULL){
      it = saf[0]->mm.find(arg->chooseChr);
      if(it==saf[0]->mm.end()){
	fprintf(stderr,"Problem finding chr: %s\n",arg->chooseChr);
	break;
      }
    }
    for(int i=0;i<choose(saf.size(),2);i++){
      ares[i].clear();
      bres[i].clear();
    }
    posi.clear();
    while(1) {
      int ret=readdata(saf,gls,nSites,it->first,arg->start,arg->stop,posiToPrint,NULL);//read nsites from data
      //  fprintf(stderr,"ret:%d glsx:%lu\n",ret,gls[0]->x);
      //if(gls[0]->x!=nSites&&arg->chooseChr==NULL&&ret!=-3){
	//fprintf(stderr,"continue continue\n");
      //	continue;
      //}
      
      fprintf(stderr,"\t-> Will now do fst temp dump using a chunk of %lu\n",gls[0]->x);
      int inc=0;
      for(int i=0;i<saf.size();i++)
	for(int j=i+1;j<saf.size();j++){
	  //	  fprintf(stderr,"i:%d j:%d inc:%d gls[i]:%p gls[j]:%p sfs:%p a1:%p b1:%p\n",i,j,inc,gls[i],gls[j],sfs[i],&a1[inc][0],&a1[inc][0]);
	  block_coef(gls[i],gls[j],sfs[inc],a1[inc],b1[inc],ares[inc],bres[inc]);
	  inc++;
	}
      for(int i=0;i<gls[0]->x;i++)
	posi.push_back(posiToPrint[i]);

      for(int i=0;i<gls.size();i++)
	gls[i]->x =0;
      if(ret==-2)//no more data in files or in chr, eith way we break;
	break;
    }
    size_t clen = strlen(it->first);
    fwrite(&clen,sizeof(size_t),1,fstfp);
    fwrite(it->first,1,clen,fstfp);
    size_t nit=posi.size();

    assert(1==fwrite(&nit,sizeof(size_t),1,fstfp));
    int64_t tell = bgzf_tell(fstbg);
    fwrite(&tell,sizeof(int64_t),1,fstfp);
    bgzf_write(fstbg,&posi[0],posi.size()*sizeof(int));
    int inc =0;
    for(int i=0;i<saf.size();i++)
      for(int j=i+1;j<saf.size();j++){
	bgzf_write(fstbg,&(ares[inc][0]),ares[inc].size()*sizeof(double));
	bgzf_write(fstbg,&(bres[inc][0]),bres[inc].size()*sizeof(double));
	inc++;
      }
    if(arg->chooseChr!=NULL)
      break;
  }
  delGloc(saf,nSites);
  destroy(gls,nSites);
  destroy_args(arg);
  for(int i=0;i<sfs.size();i++)
    delete [] sfs[i];
#if 0
  fprintf(stderr,"\n\t-> NB NB output is no longer log probs of the frequency spectrum!\n");
  fprintf(stderr,"\t-> Output is now simply the expected values! \n");
  fprintf(stderr,"\t-> You can convert to the old format simply with log(norm(x))\n");
#endif
  bgzf_close(fstbg);
  fclose(fstfp);
  fprintf(stderr,"\t-> fst index finished with no errors!\n");
  return 0;
}
Example #8
0
YSE::DSP::bandPass& YSE::DSP::bandPass::set(Flt freq, Flt q) {
  this->freq = freq;
  this->q = q;
  calcCoef();
  return (*this);
}
Example #9
0
YSE::DSP::bandPass::bandPass() {
  calcCoef();
}
Example #10
0
YSE::DSP::bandPass& YSE::DSP::bandPass::setQ(Flt q) {
  this->q = q;
  calcCoef();
  return (*this);
}
Example #11
0
YSE::DSP::bandPass& YSE::DSP::bandPass::setFrequency(Flt freq) {
  this->freq = freq;
  calcCoef();
  return (*this);
}
Example #12
0
double MyDeformObject::getSourceCoordinY(double x, double y)
{
    return calcCoef(x, y, coefA_Y);
}