void * calcTimer( void * dummy){ for(;;){ sleep(2); if(calculateIsOn){ performCalculations(); }else{ setStartStopLEDOff(); } } return dummy; }
void lazyObject::calculate() { if (!calculated_ && !frozen_) { calculated_ = true; // prevent infinite recursion in // case of bootstrapping try { performCalculations(); } catch (...) { calculated_ = false; throw; } } }
KInterpolatedYoYOptionletVolatilitySurface<Interpolator1D>:: KInterpolatedYoYOptionletVolatilitySurface( const Natural settlementDays, const Calendar& cal, const BusinessDayConvention bdc, const DayCounter& dc, const Period &lag, const boost::shared_ptr<YoYCapFloorTermPriceSurface> &capFloorPrices, const boost::shared_ptr<YoYInflationCapFloorEngine> &pricer, const boost::shared_ptr<YoYOptionletStripper> &yoyOptionletStripper, const Real slope, const Interpolator1D &interpolator) : YoYOptionletVolatilitySurface(settlementDays, cal, bdc, dc, lag, capFloorPrices->yoyIndex()->frequency(), capFloorPrices->yoyIndex()->interpolated()), capFloorPrices_(capFloorPrices), yoyInflationCouponPricer_(pricer), yoyOptionletStripper_(yoyOptionletStripper), factory1D_(interpolator), slope_(slope), lastDateisSet_(false) { performCalculations(); }