void SwDoor::setNewStoredPoint(QPointF &inp_p, QPointF &next_p) { storePoint(inp_p); P_ = next_p; calcCoef(P_, U_); calcCoef(P_, L_); }
bool SwDoor::moveDoorLine(QPointF &p, QPointF &what_moving) { calcCoef(p, what_moving); if (setP()) return true; else return false; }
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; }
void ADSR::setReleaseRate(float rate) { releaseRate = rate; releaseCoef = calcCoef(rate, targetRatioDR); releaseBase = -targetRatioDR * (1.0 - releaseCoef); }
void ADSR::setDecayRate(float rate) { decayRate = rate; decayCoef = calcCoef(rate, targetRatioDR); decayBase = (sustainLevel - targetRatioDR) * (1.0 - decayCoef); }
void ADSR::setAttackRate(float rate) { attackRate = rate; attackCoef = calcCoef(rate, targetRatioA); attackBase = (1.0 + targetRatioA) * (1.0 - attackCoef); }
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; }
YSE::DSP::bandPass& YSE::DSP::bandPass::set(Flt freq, Flt q) { this->freq = freq; this->q = q; calcCoef(); return (*this); }
YSE::DSP::bandPass::bandPass() { calcCoef(); }
YSE::DSP::bandPass& YSE::DSP::bandPass::setQ(Flt q) { this->q = q; calcCoef(); return (*this); }
YSE::DSP::bandPass& YSE::DSP::bandPass::setFrequency(Flt freq) { this->freq = freq; calcCoef(); return (*this); }
double MyDeformObject::getSourceCoordinY(double x, double y) { return calcCoef(x, y, coefA_Y); }