[Pkg-octave-commit] [SCM] Debian packaging for octave-gsl branch, master, updated. debian/1.0.8-4-4-g4e7b919
Rafael Laboissiere
rafael at laboissiere.net
Mon May 28 15:15:35 UTC 2012
The following commit has been merged in the master branch:
commit 73537f5f62adf08ed1981f0d87aada1cc794657f
Author: Rafael Laboissiere <rafael at laboissiere.net>
Date: Mon May 28 15:03:57 2012 +0000
debian/patches/add-bessel-zero-Jnu.patch: New patch from upstream SVN
diff --git a/debian/patches/add-bessel-zero-Jnu.patch b/debian/patches/add-bessel-zero-Jnu.patch
new file mode 100644
index 0000000..764811b
--- /dev/null
+++ b/debian/patches/add-bessel-zero-Jnu.patch
@@ -0,0 +1,160 @@
+Description: Add binding for the bessel_zero_Jnu function
+Author: Carnë Draug <carandraug+dev at gmail.com>
+Origin: upstream http://octave.svn.sourceforge.net/viewvc/octave?view=revision&revision=10530
+Last-Update: 2012-05-28
+
+--- octave-gsl-1.0.8.orig/INDEX
++++ octave-gsl-1.0.8/INDEX
+@@ -36,6 +36,7 @@ Special functions
+ bessel_yl
+ bessel_zero_J0
+ bessel_zero_J1
++ bessel_zero_Jnu
+ beta_gsl
+ clausen
+ conicalP_0
+--- octave-gsl-1.0.8.orig/PKG_ADD
++++ octave-gsl-1.0.8/PKG_ADD
+@@ -30,6 +30,7 @@ autoload ("bessel_Yn", fullfile (filepar
+ autoload ("bessel_Ynu", fullfile (fileparts (mfilename ("fullpath")), "gsl_sf.oct"));
+ autoload ("bessel_zero_J0", fullfile (fileparts (mfilename ("fullpath")), "gsl_sf.oct"));
+ autoload ("bessel_zero_J1", fullfile (fileparts (mfilename ("fullpath")), "gsl_sf.oct"));
++autoload ("bessel_zero_Jnu", fullfile (fileparts (mfilename ("fullpath")), "gsl_sf.oct"));
+ autoload ("beta_gsl", fullfile (fileparts (mfilename ("fullpath")), "gsl_sf.oct"));
+ autoload ("Chi", fullfile (fileparts (mfilename ("fullpath")), "gsl_sf.oct"));
+ autoload ("Ci", fullfile (fileparts (mfilename ("fullpath")), "gsl_sf.oct"));
+--- octave-gsl-1.0.8.orig/src/buildgsl_sf.sh
++++ octave-gsl-1.0.8/src/buildgsl_sf.sh
+@@ -1183,6 +1183,17 @@ EOF
+ ./replace_template.sh int_int_double_to_double.cc.template >> gsl_sf.cc
+
+
++# (double, int) to double
++
++export octave_name=bessel_zero_Jnu
++export funcname=gsl_sf_bessel_zero_Jnu
++cat << \EOF > docstring.txt
++These routines compute the location of the n-th positive zero of the
++Bessel function J_x().
++EOF
++./replace_template.sh double_int_to_double.cc.template >> gsl_sf.cc
++
++
+ export octave_name=hyperg_U
+ export funcname=gsl_sf_hyperg_U
+ cat << \EOF > docstring.txt
+--- /dev/null
++++ octave-gsl-1.0.8/src/double_int_to_double.cc.template
+@@ -0,0 +1,112 @@
++DEFUN_DLD(GSL_OCTAVE_NAME, args, nargout, "\
++ -*- texinfo -*-\n\
++ at deftypefn {Loadable Function} {@var{y} =} GSL_OCTAVE_NAME (@var{x}, @var{n})\n\
++ at deftypefnx {Loadable Function} {[@var{y}, @var{err}] =} GSL_OCTAVE_NAME (@dots{})\n\
++\n\
++GSL_FUNC_DOCSTRING
++\n\
++ at var{err} contains an estimate of the absolute error in the value @var{y}.\n\
++\n\
++This function is from the GNU Scientific Library,\n\
++see @url{http://www.gnu.org/software/gsl/} for documentation.\n\
++ at end deftypefn\n\
++")
++{
++ int i;
++ dim_vector dv;
++
++ gsl_set_error_handler (octave_gsl_errorhandler);
++
++ if(args.length() != 2) {
++ print_usage ();
++ return octave_value();
++ }
++ if(!args(0).is_real_type() || !args(1).is_real_type()) {
++ error("The arguments must be real.");
++ print_usage ();
++ return octave_value();
++ }
++
++ // Nice combinatorial explosion here
++ NDArray x = args(0).array_value();
++ NDArray n = args(1).array_value();
++ if(n.length() == x.length()) {
++ dv = x.dims();
++ NDArray y(dv);
++ int len = x.length();
++ if(nargout < 2) {
++ for(i = 0; i < len; i++) {
++ y.xelem(i) = GSL_FUNC_NAME (x.xelem(i),
++ static_cast<int>(n.xelem(i)));
++ }
++ return octave_value(y);
++ } else {
++ NDArray err(dv);
++ gsl_sf_result result;
++ octave_value_list retval;
++ for(i = 0; i < len; i++) {
++ GSL_FUNC_NAME_e (x.xelem(i),
++ static_cast<int>(n.xelem(i)), &result);
++ y.xelem(i) = result.val;
++ err.xelem(i) = result.err;
++ }
++ retval(1) = octave_value(err);
++ retval(0) = octave_value(y);
++ return retval;
++ }
++ } else if(n.length() == 1) {
++ dv = x.dims();
++ NDArray y(dv);
++ int len = x.length();
++ int nint = static_cast<int>(n.xelem(0));
++ if(nargout < 2) {
++ for(i = 0; i < len; i++) {
++ y.xelem(i) = GSL_FUNC_NAME (x.xelem(i), nint);
++ }
++ return octave_value(y);
++ } else {
++ NDArray err(dv);
++ gsl_sf_result result;
++ octave_value_list retval;
++ for(i = 0; i < len; i++) {
++ GSL_FUNC_NAME_e (x.xelem(i), nint, &result);
++ y.xelem(i) = result.val;
++ err.xelem(i) = result.err;
++ }
++ retval(1) = octave_value(err);
++ retval(0) = octave_value(y);
++ return retval;
++ }
++ } else if(x.length() == 1) {
++ dv = n.dims();
++ NDArray y(dv);
++ int len = n.length();
++ double xdouble = x.xelem(0);
++ if(nargout < 2) {
++ for(i = 0; i < len; i++) {
++ y.xelem(i) = GSL_FUNC_NAME (xdouble,
++ static_cast<int>(n.xelem(i)));
++ }
++ return octave_value(y);
++ } else {
++ NDArray err(dv);
++ gsl_sf_result result;
++ octave_value_list retval;
++ for(i = 0; i < len; i++) {
++ GSL_FUNC_NAME_e (xdouble,
++ static_cast<int>(n.xelem(i)), &result);
++ y.xelem(i) = result.val;
++ err.xelem(i) = result.err;
++ }
++ retval(1) = octave_value(err);
++ retval(0) = octave_value(y);
++ return retval;
++ }
++ } else {
++ error("First and second argument must either have the same size, or one of them must be scalar.");
++ print_usage ();
++ }
++
++ return octave_value();
++
++}
diff --git a/debian/patches/series b/debian/patches/series
index 6eba375..10d5010 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
avoid-deprecated-split.patch
+add-bessel-zero-Jnu.patch
--
Debian packaging for octave-gsl
More information about the Pkg-octave-commit
mailing list