ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cal/cal/norm.cal
Revision: 1.3
Committed: Wed Apr 19 22:09:12 2017 UTC (7 years, 1 month ago) by greg
Branch: MAIN
CVS Tags: rad5R2, rad5R1, rad5R3
Changes since 1.2: +10 -10 lines
Log Message:
Added constant assignment to functions

File Contents

# User Rev Content
1 greg 1.3 { RCSid $Id: norm.cal,v 1.2 2012/04/25 01:06:25 greg Exp $ }
2 greg 1.1 {
3     Normal Distribution Functions
4    
5     10/20/87
6    
7     Z(u) - normal probability density function
8    
9     Q(u) - Z(u) integrated from u to infinity
10    
11     u(p) - u for known value p = Q(u)
12     }
13    
14     NORMF : 1/sqrt(2*PI) ;
15    
16 greg 1.3 Z(u) : NORMF * exp(-u*u/2) ;
17 greg 1.1
18 greg 1.3 Q2(t) : t*(.31938153+t*(-.356563782+t*(1.781477937+
19     t*(-1.821255978+t*1.330274429)))) ;
20 greg 1.1
21 greg 1.3 Q1(u) : Z(u) * Q2(1/(1+.2316419*u)) ;
22 greg 1.1
23 greg 1.3 Q(u) : if( u, Q1(u), 1-Q1(-u) ) ;
24 greg 1.1
25 greg 1.3 u2(t) : t - (2.515517+t*(.802853+t*.010328))/
26     (1+t*(1.432788+t*(.189269+t*.001308))) ;
27 greg 1.1
28 greg 1.3 u1(p) : u2(sqrt(-2*log(p))) ;
29 greg 1.1
30 greg 1.3 u(p) : if( .5-p, u1(p), -u1(1-p) ) ;