Revision 1000 trunk/src/linad99/dfgammp.cpp
dfgammp.cpp (revision 1000)  

27  27 
dvariable igam(const dvariable & _a, const dvariable & _x); 
28  28 
dvariable igamc(const dvariable & _a, const dvariable & _x); 
29  29 
dvariable lgam(_CONST prevariable& v1); 
30 
dvariable private_lgam(const dvariable& v); 

31 
df3_one_variable lgam(const df3_one_variable& _x); 

32  
30  33 
extern int mtherr(char* s,int n); 
31  34  
32  35 
namespace Cephes 
...  ...  
291  294 
return (ans * ax); 
292  295 
} 
293  296  
294  
295 
dvariable private_lgam(const dvariable& v,const dvariable& kludge); 

296  
297  297 
/** 
298  298 
* Log Gamma Function 
299  299 
* 
...  ...  
301  301 
* 
302  302 
* \param _x the argument 
303  303 
* 
304 
*/ 

304 
*/


305  305 
dvariable lgam(_CONST prevariable& v1) 
306  306 
{ 
307  307 
dvariable tmp; 
...  ...  
325  325 
else 
326  326 
{ 
327  327 
// need to deal with this case 
328 
dvariable kludge=0.0; 

329 
tmp=private_lgam(v1,kludge); 

328 
tmp=private_lgam(v1); 

330  329 
} 
331  330 
return(tmp); 
332  331 
} 
333  332  
334  
335  333 
/** 
336  334 
* Log Gamma Function 
337  335 
* 
...  ...  
341  339 
* \n\n Modified from lgamma.cpp (http://www.crbond.com/download/lgamma.cpp), 
342  340 
* an algorithm that was translated by C. Bond 
343  341 
* from "Computation of Special Functions", Zhang and Jin, John Wiley and Sons, 1996. 
344 
*/ 

345 
df1_one_variable lgam(const df1_two_variable& _x)


342 
*/


343 
df1_one_variable lgam(const df1_one_variable& _x)


346  344 
{ 
347  345 
df1_one_variable& x = (df1_one_variable&)_x; 
348  346 
df1_one_variable x0; 
...  ...  
404  402 
/** 
405  403 
* Used by dvariable lgam. 
406  404 
* 
407 
*/ 

408 
dvariable private_lgam(const dvariable& v,const dvariable& kludge)


405 
*/


406 
dvariable private_lgam(const dvariable& v) 

409  407 
{ 
410 
init_df1_two_variable va(v); 

411 
init_df1_two_variable vb(kludge); 

408 
init_df1_one_variable va(v); 

412  409  
413  410 
dvariable tmp; 
414  411 
df1_one_variable z; 
...  ...  
422  419 
return tmp; 
423  420 
} 
424  421  
422  
425  423 
/** 
426  424 
* A wrapper for igam 
427  425 
*/ 
Also available in: Unified diff