void DirectProcess11( std::vector<BinData2<1,3> >& data, const NCell& c1, const Cell& c2, const double dsq, const Position2D& r) { xdbg<<std::string(recursen+1,'-')<<"Direct: d = "<<sqrt(dsq)<<std::endl; XAssert(c1.getSize()+c2.getSize() < sqrt(dsq)*b + 0.0001); XAssert(std::abs(c2.getMeanPos() - c1.getMeanPos() - r) < 0.0001); XAssert(std::abs(dsq - std::norm(r)) < 0.0001); Assert(dsq >= minsepsq); Assert(dsq < maxsepsq); std::complex<double> cr(r.getX(),r.getY()); const std::complex<double> expm2iarg = SQR(conj(cr))/dsq; const double logr = log(dsq)/2.; Assert(logr >= logminsep); const int k = int(floor((logr - logminsep)/binsize)); Assert(k >= 0); Assert(k<int(data.size())); const double nw = c1.getN()*c2.getWeight(); const std::complex<double> net = -double(c1.getN())*c2.getWE()*expm2iarg; const double npairs = c1.getN()*c2.getN(); BinData2<1,3>& crossbin = data[k]; crossbin.meangammat += net; crossbin.weight += nw; crossbin.meanlogr += nw*logr; crossbin.npair += npairs; }
void BinnedCorr2<D1,D2>::directProcess11( const Cell<D1,C>& c1, const Cell<D2,C>& c2, const double dsq) { XAssert(dsq >= _minsepsq); XAssert(dsq < _maxsepsq); XAssert(c1.getSize()+c2.getSize() < sqrt(dsq)*_b + 0.0001); const double r = sqrt(dsq); const double logr = log(dsq)/2.; XAssert(logr >= _logminsep); XAssert(_binsize != 0.); const int k = int((logr - _logminsep)/_binsize); XAssert(k >= 0); XAssert(k < _nbins); double nn = double(c1.getN()) * double(c2.getN()); _npairs[k] += nn; double ww = double(c1.getW()) * double(c2.getW()); _meanr[k] += ww * r; _meanlogr[k] += ww * logr; _weight[k] += ww; DirectHelper<D1,D2>::template ProcessXi<C,M>(c1,c2,dsq,_xi,k); }
void BinnedCorr2<D1,D2>::process11(const Cell<D1,C>& c1, const Cell<D2,C>& c2) { if (c1.getW() == 0. || c2.getW() == 0.) return; const double dsq = MetricHelper<M>::DistSq(c1.getPos(),c2.getPos()); const double s1ps2 = c1.getAllSize()+c2.getAllSize(); if (MetricHelper<M>::TooSmallDist(c1.getPos(), c2.getPos(), s1ps2, dsq, _minsep, _minsepsq)) return; if (MetricHelper<M>::TooLargeDist(c1.getPos(), c2.getPos(), s1ps2, dsq, _maxsep, _maxsepsq)) return; // See if need to split: bool split1=false, split2=false; CalcSplitSq(split1,split2,c1,c2,dsq,s1ps2,_bsq); if (split1) { if (split2) { if (!c1.getLeft()) { std::cerr<<"minsep = "<<_minsep<<", maxsep = "<<_maxsep<<std::endl; std::cerr<<"minsepsq = "<<_minsepsq<<", maxsepsq = "<<_maxsepsq<<std::endl; std::cerr<<"c1.Size = "<<c1.getSize()<<", c2.Size = "<<c2.getSize()<<std::endl; std::cerr<<"c1.SizeSq = "<<c1.getSizeSq()<< ", c2.SizeSq = "<<c2.getSizeSq()<<std::endl; std::cerr<<"c1.N = "<<c1.getN()<<", c2.N = "<<c2.getN()<<std::endl; std::cerr<<"c1.Pos = "<<c1.getPos(); std::cerr<<", c2.Pos = "<<c2.getPos()<<std::endl; std::cerr<<"dsq = "<<dsq<<", s1ps2 = "<<s1ps2<<std::endl; } Assert(c1.getLeft()); Assert(c1.getRight()); Assert(c2.getLeft()); Assert(c2.getRight()); process11<C,M>(*c1.getLeft(),*c2.getLeft()); process11<C,M>(*c1.getLeft(),*c2.getRight()); process11<C,M>(*c1.getRight(),*c2.getLeft()); process11<C,M>(*c1.getRight(),*c2.getRight()); } else { Assert(c1.getLeft()); Assert(c1.getRight()); process11<C,M>(*c1.getLeft(),c2); process11<C,M>(*c1.getRight(),c2); } } else { if (split2) { Assert(c2.getLeft()); Assert(c2.getRight()); process11<C,M>(c1,*c2.getLeft()); process11<C,M>(c1,*c2.getRight()); } else if (dsq >= _minsepsq && dsq < _maxsepsq) { XAssert(NoSplit(c1,c2,sqrt(dsq),_b)); directProcess11<C,M>(c1,c2,dsq); } } }
OSStatus ComponentBase_GetComponentDescription (const AudioComponentInstance & inInstance, AudioComponentDescription & outDesc) { // we prefer to use the new API. If it is not available however, we have to go back to using the ComponentMgr one. typedef AudioComponent (*AudioComponentInstanceGetComponentProc) (AudioComponentInstance); static AudioComponentInstanceGetComponentProc aciGCProc = NULL; typedef OSStatus (*AudioComponentGetDescriptionProc)(AudioComponent, AudioComponentDescription *); static AudioComponentGetDescriptionProc acGDProc = NULL; typedef OSErr (*GetComponentInfoProc)(Component, ComponentDescription *, void*, void*, void*); static GetComponentInfoProc gciProc = NULL; static int doneInit = 0; if (doneInit == 0) { doneInit = 1; bool loadCMgr = true; void* theImage = dlopen("/System/Library/Frameworks/AudioUnit.framework/AudioUnit", RTLD_LAZY); if (theImage != NULL) { // we assume that all routine names passed here have a leading underscore which gets shaved // off when passed to dlsym aciGCProc = (AudioComponentInstanceGetComponentProc)dlsym (theImage, "AudioComponentInstanceGetComponent"); if (aciGCProc) { acGDProc = (AudioComponentGetDescriptionProc)dlsym (theImage, "AudioComponentGetDescription"); if (acGDProc) loadCMgr = false; } } if (loadCMgr) { theImage = dlopen("/System/Library/Frameworks/CoreServices.framework/CoreServices", RTLD_LAZY); if (theImage != NULL) { gciProc = (GetComponentInfoProc)dlsym (theImage, "GetComponentInfo"); } } } OSStatus result = noErr; if (acGDProc && aciGCProc) { AudioComponent comp = (*aciGCProc)(inInstance); XAssert (comp); if (comp) { ca_require_noerr(result = (*acGDProc)(comp, &outDesc), home); } else ca_require_noerr(result = -1, home); } else if (gciProc) { // in this case we know that inInstance is directly castable to a Component ca_require_noerr(result = (*gciProc)((Component)inInstance, (ComponentDescription*)&outDesc, NULL, NULL, NULL), home); } home: return result; }
void DirectProcess11( std::vector<BinData2<3,3> >& data, const Cell& c1, const Cell& c2, const double dsq, const Position2D& r) { XAssert(c1.getSize()+c2.getSize() < sqrt(dsq)*b + 0.0001); XAssert(Dist(c2.getMeanPos() - c1.getMeanPos(),r) < 0.0001); XAssert(std::abs(dsq - DistSq(c1.getMeanPos(),c2.getMeanPos())) < 0.0001); Assert(dsq > minsepsq); Assert(dsq < maxsepsq); std::complex<double> cr(r.getX(),r.getY()); std::complex<double> expm4iarg = conj(cr*cr)/dsq; // now expm2iarg expm4iarg *= expm4iarg; // now expm4iarg const double logr = log(dsq)/2.; Assert(logr >= logminsep); const int k = int(floor((logr - logminsep)/binsize)); Assert(k >= 0); Assert(k<int(data.size())); const double ww = c1.getWeight()*c2.getWeight(); const std::complex<double> e1 = c1.getWE(); const std::complex<double> e2 = c2.getWE(); const std::complex<double> ee = e1*e2*expm4iarg; const std::complex<double> eec = e1*conj(e2); const double npairs = c1.getN()*c2.getN(); BinData2<3,3>& bindata = data[k]; bindata.xiplus += eec; bindata.ximinus += ee; bindata.weight += ww; bindata.meanlogr += ww*logr; bindata.npair += npairs; ++bincount[k]; }
void DirectProcess11( std::vector<BinData2<1,1> >& data, const NCell& c1, const NCell& c2, const double dsq, const Position2D& r) { xdbg<<std::string(recursen+1,'-')<<"Direct: d = "<<sqrt(dsq)<<std::endl; XAssert(c1.getSize()+c2.getSize() < sqrt(dsq)*b + 0.0001); XAssert(Dist(c2.getMeanPos() - c1.getMeanPos(),r) < 0.0001); XAssert(std::abs(dsq - std::norm(r)) < 0.0001); Assert(dsq >= minsepsq); Assert(dsq < maxsepsq); const double logr = log(dsq)/2.; Assert(logr >= logminsep); const int k = int(floor((logr - logminsep)/binsize)); Assert(k >= 0); Assert(k<int(data.size())); const double npairs = c1.getN()*c2.getN(); data[k].npair += npairs; }
AudioComponentDescription ComponentBase::GetComponentDescription() const { AudioComponentDescription desc; OSStatus result; #if CA_DO_NOT_USE_AUDIO_COMPONENT ca_require_noerr (result = ComponentBase_GetComponentDescription (mComponentInstance, desc), home); #else AudioComponent comp = AudioComponentInstanceGetComponent(mComponentInstance); XAssert (comp); if (comp) { ca_require_noerr(result = AudioComponentGetDescription(comp, &desc), home); } else ca_require_noerr(result = -1, home); #endif home: if (result) memset (&desc, 0, sizeof(AudioComponentDescription)); return desc; }
void UiManager::AddChildWidget( UIWidget* child ) { XAssert(m_pUiLayer, "m_pUiLayer is invalid."); m_pUiLayer->addWidget(child); }
UIWidget* UiManager::GetChildByName( const char* name ) { XAssert(m_pUiLayer, "m_pUiLayer is invalid."); return m_pUiLayer->getWidgetByName(name); }