00001 00002 00003 // 00008 00009 //-------------------------------------------------------------------------- 00010 //-------------------------------------------------------------------------- 00011 // 00012 // libMoM Library - a library for stochastic simulations in engineering. 00013 // 00014 // Copyright (C) 2010 Rochan R. Upadhyay 00015 // 00016 // This library is free software; you can redistribute it and/or 00017 // modify it under the terms of the Version 2.1 GNU Lesser General 00018 // Public License as published by the Free Software Foundation. 00019 // 00020 // This library is distributed in the hope that it will be useful, 00021 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00023 // Lesser General Public License for more details. 00024 // 00025 // You should have received a copy of the GNU Lesser General Public 00026 // License along with this library; if not, write to the Free Software 00027 // Foundation, Inc. 51 Franklin Street, Fifth Floor, 00028 // Boston, MA 02110-1301 USA 00029 // 00030 //-------------------------------------------------------------------------- 00031 00032 #ifndef _GSL_SPECIAL_FUNCTIONS_H 00033 #define _GSL_SPECIAL_FUNCTIONS_H 00034 00035 #include <stdio.h> 00036 #include <stdlib.h> 00037 #include <gsl/gsl_errno.h> 00038 #include <gsl/gsl_sf_result.h> 00039 #include <gsl/gsl_sf_bessel.h> 00040 #include <gsl/gsl_sf_gamma.h> 00041 00043 // 00044 00045 class special_functions 00046 { 00047 00048 private: 00049 00051 // 00052 00053 double result; 00054 00055 public: 00056 00058 // 00063 // 00064 00065 double besselJ0(const double x); 00066 00068 // 00076 // 00077 00078 double beta (const double x, const double y); 00079 00080 double gamma (const double x); 00081 00083 // 00088 // 00089 00090 unsigned long long int factorial(unsigned long long n); 00091 00093 // 00099 // 00100 00101 unsigned long int combination(int n, int k); 00102 00103 }; 00104 00105 #endif // GSL_SPECIAL_FUNCTIONS_H 00106 00107
1.7.2