Changeset 176
- Timestamp:
- 05/22/08 13:54:49 (5 months ago)
- Files:
-
- trunk/QLNet/QLNet.vsmdi (modified) (4 diffs)
- trunk/QLNet/QLNet/Utils.cs (modified) (2 diffs)
- trunk/QLNet/Test2008/T_Stats.cs (modified) (2 diffs)
- trunk/QLNet/Test2008/T_TermStructures.cs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/QLNet/QLNet.vsmdi
r173 r176 5 5 <TestLink id="bbe2d937-bb70-a666-a879-b3063800a42e" name="testFairSpread" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 6 6 <TestLink id="25b4118b-8066-f12f-3687-a5ef1886eb1c" name="testInArrears" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 7 <TestLink id="27ded393-6046-4057-bd65-31f629c9bf55" name="testFairRate" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 7 8 <TestLink id="0ee842b0-6275-252f-a1d0-000b0a6a4c52" name="testCachedValue" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 8 <TestLink id="27ded393-6046-4057-bd65-31f629c9bf55" name="testFairRate" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />9 9 <TestLink id="3b1816a9-7785-f64f-bc52-7014af11e8e5" name="testSpreadDependency" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 10 10 <TestLink id="2b04fe68-610a-b2de-e241-ef9a50fdb3fb" name="testRateDependency" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> … … 44 44 <TestList name="Risk Stats" id="a33eb53e-6299-480c-8958-5bcb922a4801" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6"> 45 45 <TestLinks> 46 <TestLink id="11324f58-d1f7-1a21-db46-c3d581145bab" name="testConvergenceStatistics" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 47 <TestLink id="93cb521c-14c8-79d4-fc16-8d0be3bee8d6" name="testStatistics" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 46 48 <TestLink id="b87fb037-4727-72de-6cc9-162a99e11210" name="RiskStatisticsTest" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 49 <TestLink id="0bf290f2-0fd1-7595-f676-c9b86311a965" name="testSequenceStatistics" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 47 50 </TestLinks> 48 51 </TestList> … … 54 57 <TestList name="American Option" id="da9a808d-acf7-4baf-9dfb-e4b091d30fef" parentListId="8c43106b-9dc1-4907-a29f-aa66a61bf5b6"> 55 58 <TestLinks> 56 <TestLink id=" 2bbf531b-68cb-84c0-a06f-6bedfb89f20f" name="testBaroneAdesiWhaleyValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />59 <TestLink id="33c4d801-48ac-44c4-329e-d6fe84f5e034" name="testJuValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 57 60 <TestLink id="3be50179-04ee-902d-73d8-3c94e9305a67" name="testFdShoutGreeks" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 58 61 <TestLink id="783f96db-cce8-bf61-b280-f5010f7d7eb3" name="testFdValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 59 62 <TestLink id="1e42c90a-8e82-1369-9ed9-52b036b1c07e" name="testBjerksundStenslandValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 60 63 <TestLink id="9f4ff6f8-9938-8ecb-5608-7dbc928cbda3" name="testFdAmericanGreeks" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 61 <TestLink id=" 33c4d801-48ac-44c4-329e-d6fe84f5e034" name="testJuValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />64 <TestLink id="2bbf531b-68cb-84c0-a06f-6bedfb89f20f" name="testBaroneAdesiWhaleyValues" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 62 65 </TestLinks> 63 66 </TestList> … … 76 79 <TestLinks> 77 80 <TestLink id="905e7e83-ac17-d164-7c00-332aee943ebf" name="testBrazilianCached" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 78 <TestLink id=" 6dedd105-7532-140b-2b82-37bc69a8d72c" name="testCachedFixed" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />81 <TestLink id="af486b6a-ffe8-d458-89c3-9fcd3f6ec404" name="testYield" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 79 82 <TestLink id="a7feffcc-db48-6ab4-df10-00a5494c44ea" name="testTheoretical" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 80 83 <TestLink id="2e159c46-764f-ad21-7b0f-676f2bfdc323" name="testCachedFloating" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 81 84 <TestLink id="ab3ac37e-d457-63de-2204-c9a25f55fec9" name="testCached" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 85 <TestLink id="6dedd105-7532-140b-2b82-37bc69a8d72c" name="testCachedFixed" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 82 86 <TestLink id="d7571d29-ddb9-5b86-6135-2acbcc05515d" name="testCachedZero" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" /> 83 <TestLink id="af486b6a-ffe8-d458-89c3-9fcd3f6ec404" name="testYield" storage="test2008\bin\debug\test2008.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, PublicKeyToken=b03f5f7f11d50a3a" />84 87 </TestLinks> 85 88 </TestList> trunk/QLNet/QLNet/Utils.cs
r110 r176 52 52 53 53 // this is a redefined collection class to emulate array-type behaviour at initialisation 54 public class InitializedList<T> : List<T> { 54 // if T is a class then the list is initilized with default constructors instead of null 55 public class InitializedList<T> : List<T> where T : new() { 55 56 public InitializedList() : base() { } 56 public InitializedList(int size) : this(size, default(T)) { } 57 public InitializedList(int size, T value) 58 : base(size) { 57 public InitializedList(int size) : base(size) { 58 for (int i = 0; i < this.Capacity; i++) 59 this.Add(default(T) == null ? new T() : default(T)); 60 } 61 public InitializedList(int size, T value) : base(size) { 59 62 for (int i = 0; i < this.Capacity; i++) 60 63 this.Add(value); … … 64 67 public void Erase() { 65 68 for (int i = 0; i < this.Count; i++) 66 this[i] = default(T); 69 this[i] = default(T); // do we need to use "new T()" instead of default(T) when T is class? 67 70 } 68 71 } trunk/QLNet/Test2008/T_Stats.cs
r175 r176 31 31 double[] weights = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 }; 32 32 33 [TestMethod()] 34 public void testStatistics() { 35 check<IncrementalStatistics>("IncrementalStatistics"); 36 check<RiskStatistics>("Statistics"); 37 } 38 39 [TestMethod()] 40 public void testSequenceStatistics() { 41 //("Testing sequence statistics..."); 42 43 checkSequence<IncrementalStatistics>("IncrementalStatistics", 5); 44 checkSequence<RiskStatistics>("Statistics", 5); 45 } 46 47 [TestMethod()] 48 public void testConvergenceStatistics() { 49 50 //("Testing convergence statistics..."); 51 52 checkConvergence<IncrementalStatistics>("IncrementalStatistics"); 53 checkConvergence<RiskStatistics>("Statistics"); 54 } 55 33 56 void check<S>(string name) where S : IGeneralStatistics, new() { 34 57 S s = new S(); … … 270 293 + "\n expected: " + expectedSampleSize2); 271 294 } 272 273 274 //[TestMethod()]275 295 } 276 296 } trunk/QLNet/Test2008/T_TermStructures.cs
r128 r176 54 54 swaps = swapData.Length; 55 55 56 List<BootstrapHelper<YieldTermStructure>> instruments = new InitializedList<BootstrapHelper<YieldTermStructure>>(deposits+swaps);56 var instruments = new List<BootstrapHelper<YieldTermStructure>>(deposits+swaps); 57 57 for (int i=0; i<deposits; i++) { 58 instruments [i] =new DepositRateHelper(depositData[i].rate/100, new Period(depositData[i].n, depositData[i].units),59 settlementDays, calendar, BusinessDayConvention.ModifiedFollowing, true, new Actual360());58 instruments.Add(new DepositRateHelper(depositData[i].rate/100, new Period(depositData[i].n, depositData[i].units), 59 settlementDays, calendar, BusinessDayConvention.ModifiedFollowing, true, new Actual360())); 60 60 } 61 61 … … 63 63 calendar, BusinessDayConvention.ModifiedFollowing, false, new Actual360()); 64 64 for (int i=0; i<swaps; ++i) { 65 instruments [i+deposits] =new SwapRateHelper(swapData[i].rate/100, new Period(swapData[i].n, swapData[i].units),66 calendar, Frequency.Annual, BusinessDayConvention.Unadjusted, new Thirty360(), index);65 instruments.Add(new SwapRateHelper(swapData[i].rate/100, new Period(swapData[i].n, swapData[i].units), 66 calendar, Frequency.Annual, BusinessDayConvention.Unadjusted, new Thirty360(), index)); 67 67 } 68 68 termStructure = new PiecewiseYieldCurve<Discount,LogLinear>(settlement, instruments, new Actual360());