@@ -17,29 +17,27 @@ PMIncompleteGammaFunction class >> shape: aNumber [
1717]
1818
1919{ #category : #private }
20- PMIncompleteGammaFunction >> evaluateFraction: aNumber [
20+ PMIncompleteGammaFunction >> evaluateFraction: aNumber [
2121
22- fraction isNil
23- ifTrue:
24- [fraction := PMIncompleteGammaFractionTermServer new .
25- fraction setParameter: alpha].
22+ fraction ifNil: [
23+ fraction := PMIncompleteGammaFractionTermServer new .
24+ fraction setParameter: alpha ].
2625 fraction setArgument: aNumber.
27- ^ (PMContinuedFraction server: fraction)
28- desiredPrecision: PMFloatingPointMachine new defaultNumericalPrecision;
29- evaluate
26+ ^ (PMContinuedFraction server: fraction)
27+ desiredPrecision: PMFloatingPointMachine new defaultNumericalPrecision;
28+ evaluate
3029]
3130
3231{ #category : #private }
3332PMIncompleteGammaFunction >> evaluateSeries: aNumber [
3433
35- series isNil
36- ifTrue: [ series := PMIncompleteGammaSeriesTermServer new .
37- series setParameter: alpha.
38- ].
34+ series ifNil: [
35+ series := PMIncompleteGammaSeriesTermServer new .
36+ series setParameter: alpha ].
3937 series setArgument: aNumber.
40- ^ (PMInfiniteSeries server: series)
41- desiredPrecision: PMFloatingPointMachine new defaultNumericalPrecision;
42- evaluate
38+ ^ (PMInfiniteSeries server: series)
39+ desiredPrecision: PMFloatingPointMachine new defaultNumericalPrecision;
40+ evaluate
4341]
4442
4543{ #category : #initialization }
@@ -54,13 +52,13 @@ PMIncompleteGammaFunction >> initialize: aNumber [
5452PMIncompleteGammaFunction >> value: aNumber [
5553
5654 | x norm |
57- aNumber = 0
58- ifTrue: [ ^ 0 ].
55+ aNumber = 0 ifTrue: [ ^ 0 ].
5956 x := aNumber asFloat.
60- norm := [ ( x ln * alpha - x - alphaLogGamma) exp] on: Error do: [ :signal | signal return: nil ].
61- norm isNil
62- ifTrue: [ ^ 1 ].
63- ^ x - 1 < alpha
64- ifTrue: [ ( self evaluateSeries: x) * norm]
65- ifFalse: [ 1 - ( norm / ( self evaluateFraction: x))]
57+ norm := [ (x ln * alpha - x - alphaLogGamma) exp ]
58+ on: Error
59+ do: [ :signal | signal return: nil ].
60+ norm ifNil: [ ^ 1 ].
61+ ^ x - 1 < alpha
62+ ifTrue: [ (self evaluateSeries: x) * norm ]
63+ ifFalse: [ 1 - (norm / (self evaluateFraction: x)) ]
6664]
0 commit comments