Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 18-Jun-2018 | - | ||||
DDDDM_D.template.cc | H A D | 18-Jun-2018 | 4.7 KiB | 161 | 120 | |
DDDD_D.template.cc | H A D | 18-Jun-2018 | 3.7 KiB | 126 | 89 | |
DDDM_D.template.cc | H A D | 18-Jun-2018 | 4.5 KiB | 156 | 115 | |
DDD_D.template.cc | H A D | 18-Jun-2018 | 3.4 KiB | 121 | 84 | |
DDM_D.template.cc | H A D | 18-Jun-2018 | 4.2 KiB | 151 | 110 | |
DD_D.template.cc | H A D | 18-Jun-2018 | 3.1 KiB | 116 | 79 | |
DEPRECATED | H A D | 18-Jun-2018 | 176 | 6 | 5 | |
DI_D.template.cc | H A D | 18-Jun-2018 | 3.7 KiB | 135 | 94 | |
DM_D.template.cc | H A D | 18-Jun-2018 | 3.4 KiB | 131 | 96 | |
D_D.template.cc | H A D | 18-Jun-2018 | 2.4 KiB | 96 | 65 | |
IDD_D.template.cc | H A D | 18-Jun-2018 | 4 KiB | 140 | 99 | |
ID_D.template.cc | H A D | 18-Jun-2018 | 3.7 KiB | 135 | 94 | |
IIDD_D.template.cc | H A D | 18-Jun-2018 | 4.8 KiB | 164 | 119 | |
IID_D.template.cc | H A D | 18-Jun-2018 | 4.5 KiB | 159 | 114 | |
IIIIIIIII_D.template.cc | H A D | 18-Jun-2018 | 10.1 KiB | 322 | 249 | |
IIIIII_D.template.cc | H A D | 18-Jun-2018 | 7.6 KiB | 250 | 189 | |
I_D.template.cc | H A D | 18-Jun-2018 | 2.9 KiB | 115 | 80 | |
LDD_DD_array.template.cc | H A D | 18-Jun-2018 | 2.8 KiB | 102 | 75 | |
LDD_D_array.template.cc | H A D | 18-Jun-2018 | 2.7 KiB | 98 | 71 | |
LD_DD_array.template.cc | H A D | 18-Jun-2018 | 2.7 KiB | 99 | 74 | |
LD_D_array.template.cc | H A D | 18-Jun-2018 | 2.6 KiB | 95 | 70 | |
LID_DD_array.template.cc | H A D | 18-Jun-2018 | 3.5 KiB | 124 | 97 | |
LID_D_array.template.cc | H A D | 18-Jun-2018 | 3.3 KiB | 120 | 93 | |
LLD_DD_array.template.cc | H A D | 18-Jun-2018 | 3.5 KiB | 124 | 97 | |
LLD_D_array.template.cc | H A D | 18-Jun-2018 | 3.3 KiB | 120 | 93 | |
Makefile.in | H A D | 18-Jun-2018 | 1 KiB | 36 | 11 | |
NSDD_DDD_array.template.cc | H A D | 18-Jun-2018 | 4.3 KiB | 142 | 113 | |
NSDD_DD_array.template.cc | H A D | 18-Jun-2018 | 4.1 KiB | 139 | 110 | |
NSDD_D_array.template.cc | H A D | 18-Jun-2018 | 3.9 KiB | 134 | 105 | |
README | H A D | 18-Jun-2018 | 2.1 KiB | 69 | 53 | |
UU_D.template.cc | H A D | 18-Jun-2018 | 4.3 KiB | 154 | 109 | |
U_D.template.cc | H A D | 18-Jun-2018 | 3 KiB | 115 | 80 | |
bootstrap | H A D | 18-Jun-2018 | 4.9 KiB | 158 | 82 | |
buildgsl_sf.sh | H A D | 18-Jun-2018 | 75.6 KiB | 2,657 | 1,802 | |
config.h.in | H A D | 18-Jun-2018 | 18.4 KiB | 576 | 384 | |
configure | H A D | 18-Jun-2018 | 221 KiB | 8,330 | 6,955 | |
configure.ac | H A D | 18-Jun-2018 | 27.7 KiB | 435 | 405 | |
configure.ac.in | H A D | 18-Jun-2018 | 3.8 KiB | 135 | 109 | |
generate_array_template.sh | H A D | 18-Jun-2018 | 9.1 KiB | 326 | 243 | |
generate_template.sh | H A D | 18-Jun-2018 | 9.7 KiB | 369 | 268 | |
gsl_sf.cc | H A D | 03-May-2022 | 962.1 KiB | 34,528 | 24,614 | |
gsl_sf.header.cc | H A D | 18-Jun-2018 | 2.2 KiB | 88 | 58 | |
replace_template.sh | H A D | 18-Jun-2018 | 760 | 28 | 19 |
README
1Wrapper for the GNU Scientific Library special functions. 2 3GSL special functions are automatically generated. 4 5When a new version of GSL comes out with new functions, 6add the octave name, the GSL name and the documentation 7string to buildgsl_sf.sh. 8 9To protect against users having an older version of GSL 10installed, you will also need to test for these new 11functions in configure.add, listing as missing any that 12are not available. If several functions are added by one 13release of GSL you only need to test for one and list the rest. 14Trim gsl_sf_ from the name when listing it as missing. 15 16Each new definition will look like the following: 17 18 if test -n "${missing##* FN *}"; then 19 export octave_name=FN 20 export funcname=gsl_sf_FN 21 cat <<EOF > docstring.txt 22 FN_DESCRIPTION 23 EOF 24 ./replace_template.sh INPUTS_to_double.template >> gsl_sf.cc 25 fi 26 27Replace FN, gsl_sf_FN, FN_DESCRIPTION and INPUTS as appropriate. 28 29There are several different templates to use depending 30on the inputs to the special function. For example, if 31the function takes two doubles and returns a double, use 32the double_double_to_double.cc template. 33 34To see the available templates, use: 35 36 ls *template 37 38As of this writing there are: 39 40 double fn(unsigned int) 41 double fn(unsigned int, unsigned int) 42 double fn(int) 43 double fn(int,double) 44 double fn(int,double,double) 45 double fn(int,int,double) 46 double fn(int,int,double,double) 47 double fn(double) 48 double fn(double,mode) 49 double fn(double,double) 50 double fn(double,double,mode) 51 double fn(double,double,double) 52 double fn(double,double,double,mode) 53 double fn(double,double,double,double) 54 double fn(double,double,double,double,mode) 55 56mode is a precision mode accepting a gsl_mode_t value. 57 58If there is not appropriate template, you will have 59to write your own, or write a specialized C++ function 60for the new form. 61 62Note that GSL special functions have an _e form which 63returns an estimate of the absolute error of the 64returned value. These are handled automatically by 65the templates. If there is no _e form available you 66will need to write a specialized template for the 67function. 68 69