@@ -108,7 +108,8 @@ public void ValidateMode(double mean, double stdDev, double lower, double upper)
108
108
[ TestCase ( 6.0 , .69146246127401310363770461060833773988360217555457859 ) ]
109
109
[ TestCase ( 10.0 , 0.9937903346742238648330218954258077788721022530769078 ) ]
110
110
[ TestCase ( Double . PositiveInfinity , 1.0 ) ]
111
- public void ValidateCumulativeNoBounds ( double x , double p ) {
111
+ public void ValidateCumulativeNoBounds ( double x , double p )
112
+ {
112
113
var truncatedNormal = new TruncatedNormal ( 5.0 , 2.0 ) ;
113
114
AssertHelpers . AlmostEqualRelative ( p , truncatedNormal . CumulativeDistribution ( x ) , 14 ) ;
114
115
}
@@ -146,7 +147,8 @@ public void ValidateInverseCumulativeNoBounds(double x, double p)
146
147
[ TestCase ( 0.0 , 10.0 ) ]
147
148
[ TestCase ( 10.0 , 100.0 ) ]
148
149
[ TestCase ( - 5.0 , Double . PositiveInfinity ) ]
149
- public void ValidateDensityNoBounds ( double mean , double sdev ) {
150
+ public void ValidateDensityNoBounds ( double mean , double sdev )
151
+ {
150
152
var n = new TruncatedNormal ( mean , sdev ) ;
151
153
for ( var i = 0 ; i < 11 ; i ++ ) {
152
154
var x = i - 5.0 ;
@@ -166,15 +168,20 @@ public void ValidateDensityNoBounds(double mean, double sdev) {
166
168
[ TestCase ( 0.0 , 10.0 , - 10.0 ) ]
167
169
[ TestCase ( 10.0 , 100.0 , 15.0 ) ]
168
170
[ TestCase ( - 5.0 , Double . PositiveInfinity , - 5.0 ) ]
169
- public void ValidateDensitySemiFinite ( double mean , double sdev , double lowerBound ) {
171
+ public void ValidateDensitySemiFinite ( double mean , double sdev , double lowerBound )
172
+ {
170
173
var truncatedNormal = new TruncatedNormal ( mean , sdev , lowerBound ) ;
171
174
var normal = new Normal ( mean , sdev ) ;
172
- for ( var i = 0 ; i < 11 ; i ++ ) {
175
+ for ( var i = 0 ; i < 11 ; i ++ )
176
+ {
173
177
var x = i - 5.0 ;
174
178
double density ;
175
- if ( x < lowerBound ) {
179
+ if ( x < lowerBound )
180
+ {
176
181
density = 0d ;
177
- } else {
182
+ }
183
+ else
184
+ {
178
185
var d = ( mean - x ) / sdev ;
179
186
var pdf = Math . Exp ( - 0.5 * d * d ) / ( sdev * Constants . Sqrt2Pi ) ;
180
187
density = pdf / ( 1.0 - normal . CumulativeDistribution ( lowerBound ) ) ;
@@ -193,15 +200,20 @@ public void ValidateDensitySemiFinite(double mean, double sdev, double lowerBoun
193
200
[ TestCase ( 0.0 , 10.0 , - 10.0 , 15.0 ) ]
194
201
[ TestCase ( 10.0 , 100.0 , 15.0 , 100.0 ) ]
195
202
[ TestCase ( - 5.0 , Double . PositiveInfinity , - 5.0 , 0.0 ) ]
196
- public void ValidateDensityFinite ( double mean , double sdev , double lowerBound , double upperBound ) {
203
+ public void ValidateDensityFinite ( double mean , double sdev , double lowerBound , double upperBound )
204
+ {
197
205
var truncatedNormal = new TruncatedNormal ( mean , sdev , lowerBound , upperBound ) ;
198
206
var normal = new Normal ( mean , sdev ) ;
199
- for ( var i = 0 ; i < 11 ; i ++ ) {
207
+ for ( var i = 0 ; i < 11 ; i ++ )
208
+ {
200
209
var x = i - 5.0 ;
201
210
double density ;
202
- if ( x < lowerBound || upperBound < x ) {
211
+ if ( x < lowerBound || upperBound < x )
212
+ {
203
213
density = 0d ;
204
- } else {
214
+ }
215
+ else
216
+ {
205
217
var d = ( mean - x ) / sdev ;
206
218
var pdf = Math . Exp ( - 0.5 * d * d ) / ( sdev * Constants . Sqrt2Pi ) ;
207
219
density = pdf / ( normal . CumulativeDistribution ( upperBound ) - normal . CumulativeDistribution ( lowerBound ) ) ;
@@ -222,9 +234,11 @@ public void ValidateDensityFinite(double mean, double sdev, double lowerBound, d
222
234
[ TestCase ( 0.0 , 10.0 ) ]
223
235
[ TestCase ( 10.0 , 100.0 ) ]
224
236
[ TestCase ( - 5.0 , Double . PositiveInfinity ) ]
225
- public void ValidateDensityLnNoBounds ( double mean , double sdev ) {
237
+ public void ValidateDensityLnNoBounds ( double mean , double sdev )
238
+ {
226
239
var n = new TruncatedNormal ( mean , sdev ) ;
227
- for ( var i = 0 ; i < 11 ; i ++ ) {
240
+ for ( var i = 0 ; i < 11 ; i ++ )
241
+ {
228
242
var x = i - 5.0 ;
229
243
var d = ( mean - x ) / sdev ;
230
244
var pdfln = ( - 0.5 * ( d * d ) ) - Math . Log ( sdev ) - Constants . LogSqrt2Pi ;
@@ -244,7 +258,8 @@ public void CanSample()
244
258
/// Can sample sequence.
245
259
/// </summary>
246
260
[ Test ]
247
- public void CanSampleSequence ( ) {
261
+ public void CanSampleSequence ( )
262
+ {
248
263
var truncatedNormal = new TruncatedNormal ( 5.0 , 2.0 , - 10 , 10.0 ) ;
249
264
var ied = truncatedNormal . Samples ( ) ;
250
265
GC . KeepAlive ( ied . Take ( 5 ) . ToArray ( ) ) ;
0 commit comments