/*e2 second exponential integral */ #include "cddefines.h" #include "e2.h" double e2(double t, double tln) { double e2_v, remain; # ifdef DEBUG_FUN fputs( "<+>e2()\n", debug_fp ); # endif /* fit of second exponential integral; * T is optical depth, and TLN is EXP(-t) * */ if( t < 0.3 ) { remain = (1.998069357 + t*(66.4037741 + t*107.2041376))/(1. + t*(37.4009646 + t*105.0388805)); } else if( t < 20. ) { remain = (1.823707708 + t*2.395042899)/(1. + t*(2.488885899 - t*0.00430538)); } else { remain = 1.; } e2_v = remain*tln/(2. + t); # ifdef DEBUG_FUN fputs( " <->e2()\n", debug_fp ); # endif return( e2_v ); }