[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