# HG changeset patch # User John W. Eaton # Date 1483394362 18000 # Mon Jan 02 16:59:22 2017 -0500 # Node ID 34895a686f07f5fa865431c8dbc2601494af5c29 # Parent b3bdfaf5b45de80cddf8fd8680e342854998fac2 F77_INT fixes for Octave 4.4. diff --git a/src/biotsavart.cc b/src/biotsavart.cc --- a/src/biotsavart.cc +++ b/src/biotsavart.cc @@ -21,37 +21,44 @@ #include #include +#if defined (OCTAVE_HAVE_F77_INT_TYPE) +# define TO_F77_INT(x) octave::to_f77_int (x) +#else +typedef octave_idx_type F77_INT; +# define TO_F77_INT(x) (x) +#endif + extern "C" { F77_RET_T - F77_FUNC (bisavf, BISAVF) (const octave_idx_type& m, const octave_idx_type& n, + F77_FUNC (bisavf, BISAVF) (const F77_INT& m, const F77_INT& n, const double *CP, const double *X, const double *dir, double *vi); F77_RET_T - F77_FUNC (bisanf, BISANF) (const octave_idx_type& m, const octave_idx_type& n, + F77_FUNC (bisanf, BISANF) (const F77_INT& m, const F77_INT& n, const double *CP, const double *CN, const double *X, const double *dir, double *vn); F77_RET_T - F77_FUNC (bisavb, BISAVB) (const octave_idx_type& m, const octave_idx_type& n, + F77_FUNC (bisavb, BISAVB) (const F77_INT& m, const F77_INT& n, const double *CP, const double *X, const double *Y, double *vi); F77_RET_T - F77_FUNC (bisanb, BISANB) (const octave_idx_type& m, const octave_idx_type& n, + F77_FUNC (bisanb, BISANB) (const F77_INT& m, const F77_INT& n, const double *CP, const double *CN, const double *X, const double *Y, double *vn); F77_RET_T - F77_FUNC (bisavc, BISAVC) (const octave_idx_type& m, const octave_idx_type& n, + F77_FUNC (bisavc, BISAVC) (const F77_INT& m, const F77_INT& n, const double *CP, const double *X, double *vi, double *work); F77_RET_T - F77_FUNC (bisanc, BISANC) (const octave_idx_type& m, const octave_idx_type& n, + F77_FUNC (bisanc, BISANC) (const F77_INT& m, const F77_INT& n, const double *CP, const double *CN, const double *X, double *vn, double *work); @@ -130,7 +137,7 @@ by a vortex segment joining @address@hidden if (CP.cols () == 3 && X.cols () == 3 && dir.length () == 3) { - octave_idx_type m = CP.rows (), n = X.rows (); + F77_INT m = TO_F77_INT (CP.rows ()), n = TO_F77_INT (X.rows ()); NDArray vi (dim_vector (m, n, 3)); F77_FUNC (bisavf, BISAVF) (m, n, CP.data (), @@ -150,7 +157,7 @@ by a vortex segment joining @address@hidden if (CP.cols () == 3 && CN.cols () == 3 && CP.rows () == CN.rows () && X.cols () == 3 && dir.length () == 3) { - octave_idx_type m = CP.rows (), n = X.rows (); + F77_INT m = TO_F77_INT (CP.rows ()), n = TO_F77_INT (X.rows ()); Matrix vn (m, n); F77_FUNC (bisanf, BISANF) (m, n, CP.data (), CN.data (), @@ -174,7 +181,7 @@ by a vortex segment joining @address@hidden if (CP.cols () == 3 && X.cols () == 3 && Y.cols () == 3 && Y.rows () == X.rows ()) { - octave_idx_type m = CP.rows (), n = X.rows (); + F77_INT m = TO_F77_INT (CP.rows ()), n = TO_F77_INT (X.rows ()); NDArray vi (dim_vector (m, n, 3)); F77_FUNC (bisavb, BISAVB) (m, n, CP.data (), @@ -193,7 +200,7 @@ by a vortex segment joining @address@hidden if (CP.cols () == 3 && CN.cols () == 3 && CP.rows () == CN.rows () && X.cols () == 3 && Y.cols () == 3 && Y.rows () == X.rows ()) { - octave_idx_type m = CP.rows (), n = X.rows (); + F77_INT m = TO_F77_INT (CP.rows ()), n = TO_F77_INT (X.rows ()); Matrix vn (m, n); F77_FUNC (bisanb, BISANV) (m, n, CP.data (), CN.data (), @@ -217,7 +224,7 @@ by a vortex segment joining @address@hidden if (CP.cols () == 3 && X.cols () == 3 && X.rows () > 0) { - octave_idx_type m = CP.rows (), n = X.rows () - 1; + F77_INT m = TO_F77_INT (CP.rows ()), n = TO_F77_INT (X.rows () - 1); NDArray vi (dim_vector (m, n, 3)); OCTAVE_LOCAL_BUFFER (double, work, 4*m); @@ -238,7 +245,7 @@ by a vortex segment joining @address@hidden if (CP.cols () == 3 && CN.cols () == 3 && CP.rows () == CN.rows () && X.cols () == 3 && X.rows () > 0) { - octave_idx_type m = CP.rows (), n = X.rows () - 1; + F77_INT m = TO_F77_INT (CP.rows ()), n = TO_F77_INT (X.rows () - 1); Matrix vn (m, n); OCTAVE_LOCAL_BUFFER (double, work, 4*m); diff --git a/src/vitensor.cc b/src/vitensor.cc --- a/src/vitensor.cc +++ b/src/vitensor.cc @@ -21,12 +21,19 @@ #include #include +#if defined (OCTAVE_HAVE_F77_INT_TYPE) +# define TO_F77_INT(x) octave::to_f77_int (x) +#else +typedef octave_idx_type F77_INT; +# define TO_F77_INT(x) (x) +#endif + extern "C" { F77_RET_T - F77_FUNC(vitens, VITENS) (const octave_idx_type&, const double&, + F77_FUNC(vitens, VITENS) (const F77_INT&, const double&, const double*, const double*, const double*, - const int&, double*, double*, + const F77_INT&, double*, double*, double*, double*); } @@ -68,9 +75,9 @@ as @address@hidden = @address@hidden && (nargin < 5 || args (4).is_bool_scalar ())) { double alfa = argalfa.scalar_value(); - octave_idx_type np = argxAC.length()-1; + F77_INT np = TO_F77_INT (argxAC.length()-1); - int sym = (nargin >= 5) ? args (4).scalar_value () : 0; + F77_INT sym = (nargin >= 5) ? args (4).scalar_value () : 0; if (np > 0 && argyAC.length() == np+1 && argzAC.length() == np+1) {