Assembla home | Assembla project page
 

Changeset 134

Show
Ignore:
Timestamp:
04/28/08 19:00:45 (2 months ago)
Author:
snovik
Message:

Changed: Optimize CouponPricer?.cs
Changed: VanillaSwap? refactored properties as methods like in ql

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/QLNet/QLNet/Cashflows/ConundrumPricer.cs

    r133 r134  
    158158                                VanillaSwap swap = swapIndex.underlyingSwap(coupon.fixingDate()); 
    159159                 
    160                                 Schedule schedule = swap.fixedSchedule
     160                                Schedule schedule = swap.fixedSchedule()
    161161                                Handle<YieldTermStructure> rateCurve = swapIndex.termStructure(); 
    162162                 
     
    469469                                objectiveFunction_ = new ObjectiveFunction( this, swapRateValue_); 
    470470                 
    471                                 Schedule schedule = swap.fixedSchedule
     471                                Schedule schedule = swap.fixedSchedule()
    472472                                Handle<YieldTermStructure> rateCurve = swapIndex.termStructure(); 
    473473                                DayCounter dc = swapIndex.dayCounter(); 
     
    645645         
    646646                                int q = (int)swapIndex.fixedLegTenor().frequency(); 
    647                                 Schedule schedule = swap.fixedSchedule
     647                                Schedule schedule = swap.fixedSchedule()
    648648                                DayCounter dc = swapIndex.dayCounter(); 
    649649                                //DayCounter dc = coupon.dayCounter(); 
  • trunk/QLNet/QLNet/Cashflows/CouponPricer.cs

    r133 r134  
    249249        } 
    250250        public void visit(IborCoupon c) { 
    251             if (!(pricer_ is IborCouponPricer)) 
     251            IborCouponPricer pricer = pricer_ as IborCouponPricer; 
     252            if (pricer == null) 
    252253                throw new ApplicationException("pricer not compatible with Ibor coupon"); 
    253             c.setPricer(pricer_ as IborCouponPricer); 
     254            c.setPricer(pricer); 
    254255        } 
    255256        public void visit(CappedFlooredIborCoupon c) { 
    256             if (!(pricer_ is IborCouponPricer)) 
     257            IborCouponPricer pricer = pricer_ as IborCouponPricer; 
     258            if (pricer == null) 
    257259                throw new ApplicationException("pricer not compatible with Ibor coupon"); 
    258             c.setPricer(pricer_ as IborCouponPricer); 
     260            c.setPricer(pricer); 
    259261        } 
    260262        public void visit(DigitalIborCoupon c) { 
    261             if (!(pricer_ is IborCouponPricer)) 
     263            IborCouponPricer pricer = pricer_ as IborCouponPricer; 
     264            if (pricer == null) 
    262265                throw new ApplicationException("pricer not compatible with Ibor coupon"); 
    263             c.setPricer(pricer_ as IborCouponPricer); 
     266            c.setPricer(pricer); 
    264267        } 
    265268        public void visit(CmsCoupon c) { 
    266             if (!(pricer_ is CmsCouponPricer)) 
     269            CmsCouponPricer pricer = pricer_ as CmsCouponPricer; 
     270            if (pricer == null) 
    267271                throw new ApplicationException("pricer not compatible with CMS coupon"); 
    268             c.setPricer(pricer_ as CmsCouponPricer); 
     272            c.setPricer(pricer); 
    269273        } 
    270274        public void visit(CappedFlooredCmsCoupon c) { 
    271             if (!(pricer_ is CmsCouponPricer)) 
     275            CmsCouponPricer pricer = pricer_ as CmsCouponPricer; 
     276            if (pricer == null) 
    272277                throw new ApplicationException("pricer not compatible with CMS coupon"); 
    273             c.setPricer(pricer_ as CmsCouponPricer); 
     278            c.setPricer(pricer); 
    274279        } 
    275280        public void visit(DigitalCmsCoupon c) { 
    276             if (!(pricer_ is CmsCouponPricer)) 
     281            CmsCouponPricer pricer = pricer_ as CmsCouponPricer; 
     282            if (pricer == null) 
    277283                throw new ApplicationException("pricer not compatible with CMS coupon"); 
    278             c.setPricer(pricer_ as CmsCouponPricer); 
     284            c.setPricer(pricer); 
    279285        } 
    280286        //public void visit(RangeAccrualFloatersCoupon c) 
  • trunk/QLNet/QLNet/Instruments/VanillaSwap.cs

    r133 r134  
    3939        private double spread_; 
    4040        private double nominal_; 
     41 
    4142        private Schedule fixedSchedule_; 
     43        public Schedule fixedSchedule() { return fixedSchedule_; } 
     44         
    4245        private DayCounter fixedDayCount_; 
     46         
    4347        private Schedule floatingSchedule_; 
     48        public Schedule floatingSchedule() { return floatingSchedule_; } 
     49 
    4450        private IborIndex iborIndex_; 
    4551        private DayCounter floatingDayCount_; 
     
    185191        } 
    186192 
    187         // inspectors 
    188         public Schedule fixedSchedule { get { return fixedSchedule_; } } 
    189         public Schedule floatingSchedule { get { return floatingSchedule_; } } 
    190  
    191193        public double fixedRate { get { return fixedRate_; } } 
    192194        public double spread { get { return spread_; } }