ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cal/cal/norm.cal
(Generate patch)

Comparing ray/src/cal/cal/norm.cal (file contents):
Revision 1.1 by greg, Sat Feb 22 02:07:21 2003 UTC vs.
Revision 1.4 by greg, Sun Sep 12 17:04:41 2021 UTC

# Line 1 | Line 1
1 + { RCSid $Id$ }
2   {
3          Normal Distribution Functions
4  
# Line 12 | Line 13
13  
14   NORMF : 1/sqrt(2*PI) ;
15  
16 < Z(u) = NORMF * exp(-u*u/2) ;
16 > Z(u) : NORMF * exp(-u*u/2) ;
17  
18 < Q(u) = if( u, Q1(u), 1-Q1(-u) ) ;
18 > { ### Old approximation:
19  
20 < Q1(u) = Z(u) * Q2(1/(1+.2316419*u)) ;
20 <
21 < Q2(t) = t*(.31938153+t*(-.356563782+t*(1.781477937+
20 > Q2(t) : t*(.31938153+t*(-.356563782+t*(1.781477937+
21                  t*(-1.821255978+t*1.330274429)))) ;
22  
23 < u(p) = if( .5-p, u1(p), -u1(1-p) ) ;
23 > Q1(u) : Z(u) * Q2(1/(1+.2316419*u)) ;
24  
25 < u1(p) = u2(sqrt(log(1/p/p))) ;
25 > Q(u) : if( u, Q1(u), 1-Q1(-u) ) ;
26  
27 < u2(t) = t - (2.515517+t*(.802853+t*.010328))/
27 > ### erf() gives us exact value: }
28 >
29 > Q(u) : .5 - .5*erf(u/sqrt(2)) ;
30 >
31 > u2(t) : t - (2.515517+t*(.802853+t*.010328))/
32                  (1+t*(1.432788+t*(.189269+t*.001308))) ;
33 +
34 + u1(p) : u2(sqrt(-2*log(p))) ;
35 +
36 + u(p) : if( .5-p, u1(p), -u1(1-p) ) ;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines