changeset 22133:59cadee1c74b

new macros for F77 data types * f77-fcn.h (F77_DBLE, F77_REAL, F77_DBLE_CMPLX, F77_CMPLX, F77_INT, F77_INT4, F77_LOGICAL): New macros. * fortrandemo.cc, __pchip_deriv__.cc, dot.cc, interpreter.cc, ordschur.cc, qz.cc, CColVector.cc, CMatrix.cc, CNDArray.cc, CRowVector.cc, CSparse.cc, dColVector.cc, dMatrix.cc, dNDArray.cc, dRowVector.cc, dSparse.cc, fCColVector.cc, fCMatrix.cc, fCNDArray.cc, fCRowVector.cc, fColVector.cc, fMatrix.cc, fNDArray.cc, fRowVector.cc, DASPK.cc, DASRT.cc, DASSL.cc, EIG.cc, LSODE.cc, Quad.cc, aepbalance.cc, chol.cc, eigs-base.cc, fEIG.cc, gepbalance.cc, hess.cc, lo-specfun.cc, lu.cc, oct-convn.cc, oct-rand.cc, qr.cc, qrp.cc, randpoisson.cc, schur.cc, svd.cc: Use new macros in declarations of Fortran subroutines.
author John W. Eaton <jwe@octave.org>
date Sun, 17 Jul 2016 12:42:37 -0400
parents 27b63b55bacb
children a51d5c5c71e6
files examples/code/fortrandemo.cc libinterp/corefcn/__pchip_deriv__.cc libinterp/corefcn/dot.cc libinterp/corefcn/interpreter.cc libinterp/corefcn/ordschur.cc libinterp/corefcn/qz.cc liboctave/array/CColVector.cc liboctave/array/CMatrix.cc liboctave/array/CNDArray.cc liboctave/array/CRowVector.cc liboctave/array/CSparse.cc liboctave/array/dColVector.cc liboctave/array/dMatrix.cc liboctave/array/dNDArray.cc liboctave/array/dRowVector.cc liboctave/array/dSparse.cc liboctave/array/fCColVector.cc liboctave/array/fCMatrix.cc liboctave/array/fCNDArray.cc liboctave/array/fCRowVector.cc liboctave/array/fColVector.cc liboctave/array/fMatrix.cc liboctave/array/fNDArray.cc liboctave/array/fRowVector.cc liboctave/cruft/misc/f77-fcn.h liboctave/numeric/DASPK.cc liboctave/numeric/DASRT.cc liboctave/numeric/DASSL.cc liboctave/numeric/EIG.cc liboctave/numeric/LSODE.cc liboctave/numeric/Quad.cc liboctave/numeric/aepbalance.cc liboctave/numeric/chol.cc liboctave/numeric/eigs-base.cc liboctave/numeric/fEIG.cc liboctave/numeric/gepbalance.cc liboctave/numeric/hess.cc liboctave/numeric/lo-specfun.cc liboctave/numeric/lu.cc liboctave/numeric/oct-convn.cc liboctave/numeric/oct-rand.cc liboctave/numeric/qr.cc liboctave/numeric/qrp.cc liboctave/numeric/randpoisson.cc liboctave/numeric/schur.cc liboctave/numeric/svd.cc
diffstat 46 files changed, 1474 insertions(+), 1462 deletions(-) [+]
line wrap: on
line diff
--- a/examples/code/fortrandemo.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/examples/code/fortrandemo.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -5,7 +5,7 @@
 {
   F77_RET_T
   F77_FUNC (fortransub, FORTSUB)
-    (const int&, double*, F77_CHAR_ARG_DECL F77_CHAR_ARG_LEN_DECL);
+    (const F77_INT&, F77_DBLE*, F77_CHAR_ARG_DECL F77_CHAR_ARG_LEN_DECL);
 }
 
 DEFUN_DLD (fortrandemo, args, , "Fortran Demo")
--- a/libinterp/corefcn/__pchip_deriv__.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/libinterp/corefcn/__pchip_deriv__.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -35,16 +35,16 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dpchim, DPCHIM) (const octave_idx_type& n, const double *x,
-                             const double *f, double *d,
-                             const octave_idx_type &incfd,
-                             octave_idx_type *ierr);
+  F77_FUNC (dpchim, DPCHIM) (const F77_INT& n, const F77_DBLE *x,
+                             const F77_DBLE *f, F77_DBLE *d,
+                             const F77_INT &incfd,
+                             F77_INT *ierr);
 
   F77_RET_T
-  F77_FUNC (pchim, PCHIM) (const octave_idx_type& n, const float *x,
-                           const float *f, float *d,
-                           const octave_idx_type& incfd,
-                           octave_idx_type *ierr);
+  F77_FUNC (pchim, PCHIM) (const F77_INT& n, const F77_REAL *x,
+                           const F77_REAL *f, F77_REAL *d,
+                           const F77_INT& incfd,
+                           F77_INT *ierr);
 }
 
 // Wrapper for SLATEC/PCHIP function DPCHIM to calculate the derivates
--- a/libinterp/corefcn/dot.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/libinterp/corefcn/dot.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -33,45 +33,45 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (ddot3, DDOT3) (const octave_idx_type&, const octave_idx_type&,
-                           const octave_idx_type&, const double*,
-                           const double*, double*);
+  F77_FUNC (ddot3, DDOT3) (const F77_INT&, const F77_INT&,
+                           const F77_INT&, const F77_DBLE*,
+                           const F77_DBLE*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (sdot3, SDOT3) (const octave_idx_type&, const octave_idx_type&,
-                           const octave_idx_type&, const float*,
-                           const float*, float*);
+  F77_FUNC (sdot3, SDOT3) (const F77_INT&, const F77_INT&,
+                           const F77_INT&, const F77_REAL*,
+                           const F77_REAL*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (zdotc3, ZDOTC3) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const Complex*,
-                             const Complex*, Complex*);
+  F77_FUNC (zdotc3, ZDOTC3) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cdotc3, CDOTC3) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const FloatComplex*,
-                             const FloatComplex*, FloatComplex*);
+  F77_FUNC (cdotc3, CDOTC3) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_CMPLX*, F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (dmatm3, DMATM3) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const double*, const double*, double*);
+  F77_FUNC (dmatm3, DMATM3) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE*, const F77_DBLE*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (smatm3, SMATM3) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const float*, const float*, float*);
+  F77_FUNC (smatm3, SMATM3) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             const F77_REAL*, const F77_REAL*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (zmatm3, ZMATM3) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const Complex*, const Complex*, Complex*);
+  F77_FUNC (zmatm3, ZMATM3) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE_CMPLX*, const F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cmatm3, CMATM3) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const FloatComplex*, const FloatComplex*,
-                             FloatComplex*);
+  F77_FUNC (cmatm3, CMATM3) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             const F77_CMPLX*, const F77_CMPLX*,
+                             F77_CMPLX*);
 }
 
 static void
--- a/libinterp/corefcn/interpreter.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/libinterp/corefcn/interpreter.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -82,10 +82,12 @@
 bool octave_initialized = false;
 
 // Kluge.
-extern "C" F77_RET_T
-F77_FUNC (xerbla, XERBLA) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&
-                           F77_CHAR_ARG_LEN_DECL);
+extern "C"
+{
+  F77_RET_T
+  F77_FUNC (xerbla, XERBLA) (F77_CONST_CHAR_ARG_DECL, const F77_INT&
+                             F77_CHAR_ARG_LEN_DECL);
+}
 
 DEFUN (__version_info__, args, ,
        doc: /* -*- texinfo -*-
--- a/libinterp/corefcn/ordschur.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/libinterp/corefcn/ordschur.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -33,33 +33,33 @@
 {
   F77_RET_T
   F77_FUNC (dtrsen, DTRSEN) (F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type*, const octave_idx_type&,
-                             double*, const octave_idx_type&, double*, const octave_idx_type&,
-                             double*, double*, octave_idx_type&, double&, double&, double*,
-                             const octave_idx_type&, octave_idx_type*,
-                             const octave_idx_type&, octave_idx_type&);
+                             const F77_INT*, const F77_INT&,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*, const F77_INT&,
+                             F77_DBLE*, F77_DBLE*, F77_INT&, F77_DBLE&, F77_DBLE&, F77_DBLE*,
+                             const F77_INT&, F77_INT*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
   F77_FUNC (ztrsen, ZTRSEN) (F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type*, const octave_idx_type&,
-                             Complex*, const octave_idx_type&, Complex*, const octave_idx_type&,
-                             Complex*, octave_idx_type&, double&, double&, Complex*,
-                             const octave_idx_type&, octave_idx_type &);
+                             const F77_INT*, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_DBLE_CMPLX*, F77_INT&, F77_DBLE&, F77_DBLE&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT &);
 
   F77_RET_T
   F77_FUNC (strsen, STRSEN) (F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type*, const octave_idx_type&,
-                             float*, const octave_idx_type&, float*, const octave_idx_type&,
-                             float*, float*, octave_idx_type&, float&, float&, float*,
-                             const octave_idx_type&, octave_idx_type*,
-                             const octave_idx_type&, octave_idx_type&);
+                             const F77_INT*, const F77_INT&,
+                             F77_REAL*, const F77_INT&, F77_REAL*, const F77_INT&,
+                             F77_REAL*, F77_REAL*, F77_INT&, F77_REAL&, F77_REAL&, F77_REAL*,
+                             const F77_INT&, F77_INT*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
   F77_FUNC (ctrsen, CTRSEN) (F77_CONST_CHAR_ARG_DECL, F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type*, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&, FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, octave_idx_type&, float&, float&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type &);
+                             const F77_INT*, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&, F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, F77_INT&, F77_REAL&, F77_REAL&, F77_CMPLX*,
+                             const F77_INT&, F77_INT &);
 }
 
 DEFUN (ordschur, args, ,
--- a/libinterp/corefcn/qz.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/libinterp/corefcn/qz.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -65,71 +65,71 @@
 {
   F77_RET_T
   F77_FUNC (dggbal, DGGBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N, double* A,
-                             const octave_idx_type& LDA, double* B,
-                             const octave_idx_type& LDB, octave_idx_type& ILO,
-                             octave_idx_type& IHI, double* LSCALE,
-                             double* RSCALE, double* WORK,
-                             octave_idx_type& INFO
+                             const F77_INT& N, F77_DBLE* A,
+                             const F77_INT& LDA, F77_DBLE* B,
+                             const F77_INT& LDB, F77_INT& ILO,
+                             F77_INT& IHI, F77_DBLE* LSCALE,
+                             F77_DBLE* RSCALE, F77_DBLE* WORK,
+                             F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zggbal, ZGGBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N, Complex* A,
-                             const octave_idx_type& LDA, Complex* B,
-                             const octave_idx_type& LDB, octave_idx_type& ILO,
-                             octave_idx_type& IHI, double* LSCALE,
-                             double* RSCALE, double* WORK,
-                             octave_idx_type& INFO
+                             const F77_INT& N, F77_DBLE_CMPLX* A,
+                             const F77_INT& LDA, F77_DBLE_CMPLX* B,
+                             const F77_INT& LDB, F77_INT& ILO,
+                             F77_INT& IHI, F77_DBLE* LSCALE,
+                             F77_DBLE* RSCALE, F77_DBLE* WORK,
+                             F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dggbak, DGGBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             const octave_idx_type& ILO,
-                             const octave_idx_type& IHI,
-                             const double* LSCALE, const double* RSCALE,
-                             octave_idx_type& M, double* V,
-                             const octave_idx_type& LDV, octave_idx_type& INFO
+                             const F77_INT& N,
+                             const F77_INT& ILO,
+                             const F77_INT& IHI,
+                             const F77_DBLE* LSCALE, const F77_DBLE* RSCALE,
+                             F77_INT& M, F77_DBLE* V,
+                             const F77_INT& LDV, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zggbak, ZGGBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             const octave_idx_type& ILO,
-                             const octave_idx_type& IHI,
-                             const double* LSCALE, const double* RSCALE,
-                             octave_idx_type& M, Complex* V,
-                             const octave_idx_type& LDV, octave_idx_type& INFO
+                             const F77_INT& N,
+                             const F77_INT& ILO,
+                             const F77_INT& IHI,
+                             const F77_DBLE* LSCALE, const F77_DBLE* RSCALE,
+                             F77_INT& M, F77_DBLE_CMPLX* V,
+                             const F77_INT& LDV, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgghrd, DGGHRD) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             const octave_idx_type& ILO,
-                             const octave_idx_type& IHI, double* A,
-                             const octave_idx_type& LDA, double* B,
-                             const octave_idx_type& LDB, double* Q,
-                             const octave_idx_type& LDQ, double* Z,
-                             const octave_idx_type& LDZ, octave_idx_type& INFO
+                             const F77_INT& N,
+                             const F77_INT& ILO,
+                             const F77_INT& IHI, F77_DBLE* A,
+                             const F77_INT& LDA, F77_DBLE* B,
+                             const F77_INT& LDB, F77_DBLE* Q,
+                             const F77_INT& LDQ, F77_DBLE* Z,
+                             const F77_INT& LDZ, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgghrd, ZGGHRD) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             const octave_idx_type& ILO,
-                             const octave_idx_type& IHI, Complex* A,
-                             const octave_idx_type& LDA, Complex* B,
-                             const octave_idx_type& LDB, Complex* Q,
-                             const octave_idx_type& LDQ, Complex* Z,
-                             const octave_idx_type& LDZ, octave_idx_type& INFO
+                             const F77_INT& N,
+                             const F77_INT& ILO,
+                             const F77_INT& IHI, F77_DBLE_CMPLX* A,
+                             const F77_INT& LDA, F77_DBLE_CMPLX* B,
+                             const F77_INT& LDB, F77_DBLE_CMPLX* Q,
+                             const F77_INT& LDQ, F77_DBLE_CMPLX* Z,
+                             const F77_INT& LDZ, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
@@ -137,16 +137,16 @@
   F77_FUNC (dhgeqz, DHGEQZ) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             const octave_idx_type& ILO,
-                             const octave_idx_type& IHI,
-                             double* A, const octave_idx_type& LDA, double* B,
-                             const octave_idx_type& LDB, double* ALPHAR,
-                             double* ALPHAI, double* BETA, double* Q,
-                             const octave_idx_type& LDQ, double* Z,
-                             const octave_idx_type& LDZ, double* WORK,
-                             const octave_idx_type& LWORK,
-                             octave_idx_type& INFO
+                             const F77_INT& N,
+                             const F77_INT& ILO,
+                             const F77_INT& IHI,
+                             F77_DBLE* A, const F77_INT& LDA, F77_DBLE* B,
+                             const F77_INT& LDB, F77_DBLE* ALPHAR,
+                             F77_DBLE* ALPHAI, F77_DBLE* BETA, F77_DBLE* Q,
+                             const F77_INT& LDQ, F77_DBLE* Z,
+                             const F77_INT& LDZ, F77_DBLE* WORK,
+                             const F77_INT& LWORK,
+                             F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
@@ -155,35 +155,35 @@
   F77_FUNC (zhgeqz, ZHGEQZ) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             const octave_idx_type& ILO,
-                             const octave_idx_type& IHI,
-                             Complex* A, const octave_idx_type& LDA,
-                             Complex* B, const octave_idx_type& LDB,
-                             Complex* ALPHA, Complex* BETA, Complex* CQ,
-                             const octave_idx_type& LDQ,
-                             Complex* CZ, const octave_idx_type& LDZ,
-                             Complex* WORK, const octave_idx_type& LWORK,
-                             double* RWORK, octave_idx_type& INFO
+                             const F77_INT& N,
+                             const F77_INT& ILO,
+                             const F77_INT& IHI,
+                             F77_DBLE_CMPLX* A, const F77_INT& LDA,
+                             F77_DBLE_CMPLX* B, const F77_INT& LDB,
+                             F77_DBLE_CMPLX* ALPHA, F77_DBLE_CMPLX* BETA, F77_DBLE_CMPLX* CQ,
+                             const F77_INT& LDQ,
+                             F77_DBLE_CMPLX* CZ, const F77_INT& LDZ,
+                             F77_DBLE_CMPLX* WORK, const F77_INT& LWORK,
+                             F77_DBLE* RWORK, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dlag2, DLAG2) (const double* A, const octave_idx_type& LDA,
-                           const double* B, const octave_idx_type& LDB,
-                           const double& SAFMIN, double& SCALE1,
-                           double& SCALE2, double& WR1, double& WR2,
-                           double& WI);
+  F77_FUNC (dlag2, DLAG2) (const F77_DBLE* A, const F77_INT& LDA,
+                           const F77_DBLE* B, const F77_INT& LDB,
+                           const F77_DBLE& SAFMIN, F77_DBLE& SCALE1,
+                           F77_DBLE& SCALE2, F77_DBLE& WR1, F77_DBLE& WR2,
+                           F77_DBLE& WI);
 
   // Van Dooren's code (netlib.org: toms/590) for reordering
   // GEP.  Only processes Z, not Q.
   F77_RET_T
-  F77_FUNC (dsubsp, DSUBSP) (const octave_idx_type& NMAX,
-                             const octave_idx_type& N, double* A,
-                             double* B, double* Z, sort_function,
-                             const double& EPS, octave_idx_type& NDIM,
-                             octave_idx_type& FAIL, octave_idx_type* IND);
+  F77_FUNC (dsubsp, DSUBSP) (const F77_INT& NMAX,
+                             const F77_INT& N, F77_DBLE* A,
+                             F77_DBLE* B, F77_DBLE* Z, sort_function,
+                             const F77_DBLE& EPS, F77_INT& NDIM,
+                             F77_INT& FAIL, F77_INT* IND);
 
   // Documentation for DTGEVC incorrectly states that VR, VL are
   // complex*16; they are declared in DTGEVC as double precision
@@ -191,42 +191,42 @@
   F77_RET_T
   F77_FUNC (dtgevc, DTGEVC) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             octave_idx_type* SELECT,
-                             const octave_idx_type& N, double* A,
-                             const octave_idx_type& LDA, double* B,
-                             const octave_idx_type& LDB, double* VL,
-                             const octave_idx_type& LDVL, double* VR,
-                             const octave_idx_type& LDVR,
-                             const octave_idx_type& MM, octave_idx_type& M,
-                             double* WORK, octave_idx_type& INFO
+                             F77_INT* SELECT,
+                             const F77_INT& N, F77_DBLE* A,
+                             const F77_INT& LDA, F77_DBLE* B,
+                             const F77_INT& LDB, F77_DBLE* VL,
+                             const F77_INT& LDVL, F77_DBLE* VR,
+                             const F77_INT& LDVR,
+                             const F77_INT& MM, F77_INT& M,
+                             F77_DBLE* WORK, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (ztgevc, ZTGEVC) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             octave_idx_type* SELECT,
-                             const octave_idx_type& N, const Complex* A,
-                             const octave_idx_type& LDA,const Complex* B,
-                             const octave_idx_type& LDB, Complex* xVL,
-                             const octave_idx_type& LDVL, Complex* xVR,
-                             const octave_idx_type& LDVR,
-                             const octave_idx_type& MM, octave_idx_type& M,
-                             Complex* CWORK, double* RWORK,
-                             octave_idx_type& INFO
+                             F77_INT* SELECT,
+                             const F77_INT& N, const F77_DBLE_CMPLX* A,
+                             const F77_INT& LDA,const F77_DBLE_CMPLX* B,
+                             const F77_INT& LDB, F77_DBLE_CMPLX* xVL,
+                             const F77_INT& LDVL, F77_DBLE_CMPLX* xVR,
+                             const F77_INT& LDVR,
+                             const F77_INT& MM, F77_INT& M,
+                             F77_DBLE_CMPLX* CWORK, F77_DBLE* RWORK,
+                             F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (xdlamch, XDLAMCH) (F77_CONST_CHAR_ARG_DECL,
-                               double& retval
+                               F77_DBLE& retval
                                F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (xdlange, XDLANGE) (F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&,
-                               const octave_idx_type&, const double*,
-                               const octave_idx_type&, double*, double&
+                               const F77_INT&,
+                               const F77_INT&, const F77_DBLE*,
+                               const F77_INT&, F77_DBLE*, F77_DBLE&
                                F77_CHAR_ARG_LEN_DECL);
 }
 
--- a/liboctave/array/CColVector.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/CColVector.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -42,11 +42,11 @@
 {
   F77_RET_T
   F77_FUNC (zgemv, ZGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const Complex&, const Complex*,
-                           const octave_idx_type&, const Complex*,
-                           const octave_idx_type&, const Complex&,
-                           Complex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE_CMPLX&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX&,
+                           F77_DBLE_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 }
 
--- a/liboctave/array/CMatrix.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/CMatrix.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -70,151 +70,151 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (xilaenv, XILAENV) (const octave_idx_type&,
+  F77_FUNC (xilaenv, XILAENV) (const F77_INT&,
                                F77_CONST_CHAR_ARG_DECL,
                                F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&, const octave_idx_type&,
-                               const octave_idx_type&, const octave_idx_type&,
-                               octave_idx_type&
+                               const F77_INT&, const F77_INT&,
+                               const F77_INT&, const F77_INT&,
+                               F77_INT&
                                F77_CHAR_ARG_LEN_DECL
                                F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgebal, ZGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgebak, DGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgemm, ZGEMM) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const octave_idx_type&, const Complex&,
-                           const Complex*, const octave_idx_type&,
-                           const Complex*, const octave_idx_type&,
-                           const Complex&, Complex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_INT&, const F77_DBLE_CMPLX&,
+                           const F77_DBLE_CMPLX*, const F77_INT&,
+                           const F77_DBLE_CMPLX*, const F77_INT&,
+                           const F77_DBLE_CMPLX&, F77_DBLE_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgemv, ZGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const Complex&, const Complex*,
-                           const octave_idx_type&, const Complex*,
-                           const octave_idx_type&, const Complex&,
-                           Complex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE_CMPLX&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX&,
+                           F77_DBLE_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (xzdotu, XZDOTU) (const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, Complex&);
+  F77_FUNC (xzdotu, XZDOTU) (const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX&);
 
   F77_RET_T
-  F77_FUNC (xzdotc, XZDOTC) (const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, Complex&);
+  F77_FUNC (xzdotc, XZDOTC) (const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX&);
 
   F77_RET_T
   F77_FUNC (zsyrk, ZSYRK) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const Complex&, const Complex*,
-                           const octave_idx_type&, const Complex&,
-                           Complex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE_CMPLX&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX&,
+                           F77_DBLE_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zherk, ZHERK) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const double&, const Complex*,
-                           const octave_idx_type&, const double&, Complex*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE&, F77_DBLE_CMPLX*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zgetrf, ZGETRF) (const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (zgetrf, ZGETRF) (const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_INT*, F77_INT&);
 
   F77_RET_T
   F77_FUNC (zgetrs, ZGETRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&,
-                             const octave_idx_type*, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             const F77_INT*, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zgetri, ZGETRI) (const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type*,
-                             Complex*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (zgetri, ZGETRI) (const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT*,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_INT&);
 
   F77_RET_T
   F77_FUNC (zgecon, ZGECON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const double&, double&,
-                             Complex*, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE&, F77_DBLE&,
+                             F77_DBLE_CMPLX*, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zgelsy, ZGELSY) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type*,
-                             double&, octave_idx_type&, Complex*,
-                             const octave_idx_type&, double*,
-                             octave_idx_type&);
+  F77_FUNC (zgelsy, ZGELSY) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT*,
+                             F77_DBLE&, F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE*,
+                             F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zgelsd, ZGELSD) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, double*, double&,
-                             octave_idx_type&, Complex*,
-                             const octave_idx_type&, double*,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (zgelsd, ZGELSD) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE*, F77_DBLE&,
+                             F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE*,
+                             F77_INT*, F77_INT&);
 
   F77_RET_T
   F77_FUNC (zpotrf, ZPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zpocon, ZPOCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const double&,
-                             double&, Complex*, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE&,
+                             F77_DBLE&, F77_DBLE_CMPLX*, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zpotrs, ZPOTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const Complex*, const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (ztrtri, ZTRTRI) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
@@ -222,9 +222,9 @@
   F77_FUNC (ztrcon, ZTRCON) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, double&,
-                             Complex*, double*, octave_idx_type&
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE&,
+                             F77_DBLE_CMPLX*, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
@@ -233,33 +233,33 @@
   F77_FUNC (ztrtrs, ZTRTRS) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const Complex*, const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zlartg, ZLARTG) (const Complex&, const Complex&, double&,
-                             Complex&, Complex&);
+  F77_FUNC (zlartg, ZLARTG) (const F77_DBLE_CMPLX&, const F77_DBLE_CMPLX&, F77_DBLE&,
+                             F77_DBLE_CMPLX&, F77_DBLE_CMPLX&);
 
   F77_RET_T
   F77_FUNC (ztrsyl, ZTRSYL) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, double&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (xzlange, XZLANGE) (F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&, const octave_idx_type&,
-                               const Complex*, const octave_idx_type&,
-                               double*, double&
+                               const F77_INT&, const F77_INT&,
+                               const F77_DBLE_CMPLX*, const F77_INT&,
+                               F77_DBLE*, F77_DBLE&
                                F77_CHAR_ARG_LEN_DECL);
 }
 
@@ -1273,13 +1273,13 @@
   // each subroutine.
 
   F77_RET_T
-  F77_FUNC (zffti, ZFFTI) (const octave_idx_type&, Complex*);
+  F77_FUNC (zffti, ZFFTI) (const F77_INT&, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (zfftf, ZFFTF) (const octave_idx_type&, Complex*, Complex*);
+  F77_FUNC (zfftf, ZFFTF) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (zfftb, ZFFTB) (const octave_idx_type&, Complex*, Complex*);
+  F77_FUNC (zfftb, ZFFTB) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 }
 
 ComplexMatrix
--- a/liboctave/array/CNDArray.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/CNDArray.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -196,13 +196,13 @@
   // each subroutine.
 
   F77_RET_T
-  F77_FUNC (zffti, ZFFTI) (const octave_idx_type&, Complex*);
+  F77_FUNC (zffti, ZFFTI) (const F77_INT&, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (zfftf, ZFFTF) (const octave_idx_type&, Complex*, Complex*);
+  F77_FUNC (zfftf, ZFFTF) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (zfftb, ZFFTB) (const octave_idx_type&, Complex*, Complex*);
+  F77_FUNC (zfftb, ZFFTB) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 }
 
 ComplexNDArray
--- a/liboctave/array/CRowVector.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/CRowVector.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -41,17 +41,17 @@
 {
   F77_RET_T
   F77_FUNC (zgemv, ZGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const Complex&, const Complex*,
-                           const octave_idx_type&, const Complex*,
-                           const octave_idx_type&, const Complex&, Complex*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE_CMPLX&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX&, F77_DBLE_CMPLX*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (xzdotu, XZDOTU) (const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, const Complex*,
-                             const octave_idx_type&, Complex&);
+  F77_FUNC (xzdotu, XZDOTU) (const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX&);
 }
 
 // Complex Row Vector class
--- a/liboctave/array/CSparse.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/CSparse.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -74,73 +74,73 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (zgbtrf, ZGBTRF) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (zgbtrf, ZGBTRF) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_INT*, F77_INT&);
 
   F77_RET_T
   F77_FUNC (zgbtrs, ZGBTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const Complex*, const octave_idx_type&,
-                             const octave_idx_type*, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE_CMPLX*, const F77_INT&,
+                             const F77_INT*, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgbcon, ZGBCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type*,
-                             const double&, double&, Complex*, double*,
-                             octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT*,
+                             const F77_DBLE&, F77_DBLE&, F77_DBLE_CMPLX*, F77_DBLE*,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zpbtrf, ZPBTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zpbtrs, ZPBTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zpbcon, ZPBCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&, const double&,
-                             double&, Complex*, double*, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&, const F77_DBLE&,
+                             F77_DBLE&, F77_DBLE_CMPLX*, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zgttrf, ZGTTRF) (const octave_idx_type&, Complex*, Complex*,
-                             Complex*, Complex*, octave_idx_type*,
-                             octave_idx_type&);
+  F77_FUNC (zgttrf, ZGTTRF) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                             F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, F77_INT*,
+                             F77_INT&);
 
   F77_RET_T
   F77_FUNC (zgttrs, ZGTTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const Complex*, const Complex*, const Complex*,
-                             const Complex*, const octave_idx_type*,
-                             Complex *, const octave_idx_type&,
-                             octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE_CMPLX*, const F77_DBLE_CMPLX*, const F77_DBLE_CMPLX*,
+                             const F77_DBLE_CMPLX*, const F77_INT*,
+                             F77_DBLE_CMPLX *, const F77_INT&,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zptsv, ZPTSV) (const octave_idx_type&, const octave_idx_type&,
-                           double*, Complex*, Complex*,
-                           const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (zptsv, ZPTSV) (const F77_INT&, const F77_INT&,
+                           F77_DBLE*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zgtsv, ZGTSV) (const octave_idx_type&, const octave_idx_type&,
-                           Complex*, Complex*, Complex*, Complex*,
-                           const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (zgtsv, ZGTSV) (const F77_INT&, const F77_INT&,
+                           F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_INT&);
 }
 
 SparseComplexMatrix::SparseComplexMatrix (const SparseMatrix& a)
--- a/liboctave/array/dColVector.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/dColVector.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -42,11 +42,11 @@
 {
   F77_RET_T
   F77_FUNC (dgemv, DGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const double&, const double*,
-                           const octave_idx_type&, const double*,
-                           const octave_idx_type&, const double&, double*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE&, F77_DBLE*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 }
 
--- a/liboctave/array/dMatrix.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/dMatrix.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -68,143 +68,143 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (xilaenv, XILAENV) (const octave_idx_type&,
+  F77_FUNC (xilaenv, XILAENV) (const F77_INT&,
                                F77_CONST_CHAR_ARG_DECL,
                                F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&, const octave_idx_type&,
-                               const octave_idx_type&, const octave_idx_type&,
-                               octave_idx_type&
+                               const F77_INT&, const F77_INT&,
+                               const F77_INT&, const F77_INT&,
+                               F77_INT&
                                F77_CHAR_ARG_LEN_DECL
                                F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgebal, DGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgebak, DGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgemm, DGEMM) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const octave_idx_type&, const double&,
-                           const double*, const octave_idx_type&,
-                           const double*, const octave_idx_type&,
-                           const double&, double*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_INT&, const F77_DBLE&,
+                           const F77_DBLE*, const F77_INT&,
+                           const F77_DBLE*, const F77_INT&,
+                           const F77_DBLE&, F77_DBLE*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgemv, DGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const double&, const double*,
-                           const octave_idx_type&, const double*,
-                           const octave_idx_type&, const double&, double*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE&, F77_DBLE*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (xddot, XDDOT) (const octave_idx_type&, const double*,
-                           const octave_idx_type&, const double*,
-                           const octave_idx_type&, double&);
+  F77_FUNC (xddot, XDDOT) (const F77_INT&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE*,
+                           const F77_INT&, F77_DBLE&);
 
   F77_RET_T
   F77_FUNC (dsyrk, DSYRK) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const double&, const double*, const octave_idx_type&,
-                           const double&, double*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE&, const F77_DBLE*, const F77_INT&,
+                           const F77_DBLE&, F77_DBLE*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dgetrf, DGETRF) (const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (dgetrf, DGETRF) (const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&,
+                             F77_INT*, F77_INT&);
 
   F77_RET_T
   F77_FUNC (dgetrs, DGETRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const double*, const octave_idx_type&,
-                             const octave_idx_type*, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE*, const F77_INT&,
+                             const F77_INT*, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dgetri, DGETRI) (const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type*,
-                             double*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (dgetri, DGETRI) (const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT*,
+                             F77_DBLE*, const F77_INT&,
+                             F77_INT&);
 
   F77_RET_T
   F77_FUNC (dgecon, DGECON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, const double&, double&,
-                             double*, octave_idx_type*, octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_DBLE&, F77_DBLE&,
+                             F77_DBLE*, F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dgelsy, DGELSY) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type*,
-                             double&, octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (dgelsy, DGELSY) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT*,
+                             F77_DBLE&, F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (dgelsd, DGELSD) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*, double&,
-                             octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type&);
+  F77_FUNC (dgelsd, DGELSD) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*, F77_DBLE&,
+                             F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT*,
+                             F77_INT&);
 
   F77_RET_T
   F77_FUNC (dpotrf, DPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double *,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_DBLE *,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dpocon, DPOCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, const double&,
-                             double&, double*, octave_idx_type*,
-                             octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_DBLE&,
+                             F77_DBLE&, F77_DBLE*, F77_INT*,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
   F77_FUNC (dpotrs, DPOTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const double*, const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dtrtri, DTRTRI) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
   F77_FUNC (dtrcon, DTRCON) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const double*,
-                             const octave_idx_type&, double&,
-                             double*, octave_idx_type*, octave_idx_type&
+                             const F77_INT&, const F77_DBLE*,
+                             const F77_INT&, F77_DBLE&,
+                             F77_DBLE*, F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
@@ -212,33 +212,33 @@
   F77_FUNC (dtrtrs, DTRTRS) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const double*, const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dlartg, DLARTG) (const double&, const double&, double&,
-                             double&, double&);
+  F77_FUNC (dlartg, DLARTG) (const F77_DBLE&, const F77_DBLE&, F77_DBLE&,
+                             F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
   F77_FUNC (dtrsyl, DTRSYL) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const double*,
-                             const octave_idx_type&, const double*,
-                             const octave_idx_type&, const double*,
-                             const octave_idx_type&, double&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_DBLE*,
+                             const F77_INT&, const F77_DBLE*,
+                             const F77_INT&, const F77_DBLE*,
+                             const F77_INT&, F77_DBLE&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (xdlange, XDLANGE) (F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&, const octave_idx_type&,
-                               const double*, const octave_idx_type&,
-                               double*, double&
+                               const F77_INT&, const F77_INT&,
+                               const F77_DBLE*, const F77_INT&,
+                               F77_DBLE*, F77_DBLE&
                                F77_CHAR_ARG_LEN_DECL);
 }
 
@@ -953,13 +953,13 @@
   // each subroutine.
 
   F77_RET_T
-  F77_FUNC (zffti, ZFFTI) (const octave_idx_type&, Complex*);
+  F77_FUNC (zffti, ZFFTI) (const F77_INT&, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (zfftf, ZFFTF) (const octave_idx_type&, Complex*, Complex*);
+  F77_FUNC (zfftf, ZFFTF) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (zfftb, ZFFTB) (const octave_idx_type&, Complex*, Complex*);
+  F77_FUNC (zfftb, ZFFTB) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 }
 
 ComplexMatrix
--- a/liboctave/array/dNDArray.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/dNDArray.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -237,13 +237,13 @@
   // each subroutine.
 
   F77_RET_T
-  F77_FUNC (zffti, ZFFTI) (const octave_idx_type&, Complex*);
+  F77_FUNC (zffti, ZFFTI) (const F77_INT&, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (zfftf, ZFFTF) (const octave_idx_type&, Complex*, Complex*);
+  F77_FUNC (zfftf, ZFFTF) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (zfftb, ZFFTB) (const octave_idx_type&, Complex*, Complex*);
+  F77_FUNC (zfftb, ZFFTB) (const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*);
 }
 
 ComplexNDArray
--- a/liboctave/array/dRowVector.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/dRowVector.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -41,16 +41,16 @@
 {
   F77_RET_T
   F77_FUNC (dgemv, DGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const double&, const double*,
-                           const octave_idx_type&, const double*,
-                           const octave_idx_type&, const double&,
-                           double*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE&,
+                           F77_DBLE*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
-  F77_FUNC (xddot, XDDOT) (const octave_idx_type&, const double*,
-                           const octave_idx_type&, const double*,
-                           const octave_idx_type&, double&);
+  F77_FUNC (xddot, XDDOT) (const F77_INT&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE*,
+                           const F77_INT&, F77_DBLE&);
 }
 
 // Row Vector class.
--- a/liboctave/array/dSparse.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/dSparse.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -69,82 +69,82 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dgbtrf, DGBTRF) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (dgbtrf, DGBTRF) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&,
+                             F77_INT*, F77_INT&);
 
   F77_RET_T
   F77_FUNC (dgbtrs, DGBTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const double*, const octave_idx_type&,
-                             const octave_idx_type*, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE*, const F77_INT&,
+                             const F77_INT*, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgbcon, DGBCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type*,
-                             const double&, double&, double*,
-                             octave_idx_type*, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT*,
+                             const F77_DBLE&, F77_DBLE&, F77_DBLE*,
+                             F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dpbtrf, DPBTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dpbtrs, DPBTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dpbcon, DPBCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&,
-                             const double&, double&, double*,
-                             octave_idx_type*, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&,
+                             const F77_DBLE&, F77_DBLE&, F77_DBLE*,
+                             F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
-  F77_FUNC (dptsv, DPTSV) (const octave_idx_type&, const octave_idx_type&,
-                           double*, double*, double*, const octave_idx_type&,
-                           octave_idx_type&);
+  F77_FUNC (dptsv, DPTSV) (const F77_INT&, const F77_INT&,
+                           F77_DBLE*, F77_DBLE*, F77_DBLE*, const F77_INT&,
+                           F77_INT&);
 
   F77_RET_T
-  F77_FUNC (dgtsv, DGTSV) (const octave_idx_type&, const octave_idx_type&,
-                           double*, double*, double*, double*,
-                           const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (dgtsv, DGTSV) (const F77_INT&, const F77_INT&,
+                           F77_DBLE*, F77_DBLE*, F77_DBLE*, F77_DBLE*,
+                           const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (dgttrf, DGTTRF) (const octave_idx_type&, double*, double*,
-                             double*, double*, octave_idx_type*,
-                             octave_idx_type&);
+  F77_FUNC (dgttrf, DGTTRF) (const F77_INT&, F77_DBLE*, F77_DBLE*,
+                             F77_DBLE*, F77_DBLE*, F77_INT*,
+                             F77_INT&);
 
   F77_RET_T
   F77_FUNC (dgttrs, DGTTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const double*, const double*, const double*,
-                             const double*, const octave_idx_type*,
-                             double *, const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE*, const F77_DBLE*, const F77_DBLE*,
+                             const F77_DBLE*, const F77_INT*,
+                             F77_DBLE *, const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zptsv, ZPTSV) (const octave_idx_type&, const octave_idx_type&,
-                           double*, Complex*, Complex*, const octave_idx_type&,
-                           octave_idx_type&);
+  F77_FUNC (zptsv, ZPTSV) (const F77_INT&, const F77_INT&,
+                           F77_DBLE*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, const F77_INT&,
+                           F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zgtsv, ZGTSV) (const octave_idx_type&, const octave_idx_type&,
-                           Complex*, Complex*, Complex*, Complex*,
-                           const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (zgtsv, ZGTSV) (const F77_INT&, const F77_INT&,
+                           F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_INT&);
 
 }
 
--- a/liboctave/array/fCColVector.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/fCColVector.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -42,11 +42,11 @@
 {
   F77_RET_T
   F77_FUNC (cgemv, CGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const FloatComplex&, const FloatComplex*,
-                           const octave_idx_type&, const FloatComplex*,
-                           const octave_idx_type&, const FloatComplex&,
-                           FloatComplex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_CMPLX&, const F77_CMPLX*,
+                           const F77_INT&, const F77_CMPLX*,
+                           const F77_INT&, const F77_CMPLX&,
+                           F77_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 }
 
--- a/liboctave/array/fCMatrix.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/fCMatrix.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -68,152 +68,152 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (xilaenv, XILAENV) (const octave_idx_type&,
+  F77_FUNC (xilaenv, XILAENV) (const F77_INT&,
                                F77_CONST_CHAR_ARG_DECL,
                                F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&, const octave_idx_type&,
-                               const octave_idx_type&, const octave_idx_type&,
-                               octave_idx_type&
+                               const F77_INT&, const F77_INT&,
+                               const F77_INT&, const F77_INT&,
+                               F77_INT&
                                F77_CHAR_ARG_LEN_DECL
                                F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cgebal, CGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, float*, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgebak, SGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cgemm, CGEMM) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const octave_idx_type&, const FloatComplex&,
-                           const FloatComplex*, const octave_idx_type&,
-                           const FloatComplex*, const octave_idx_type&,
-                           const FloatComplex&, FloatComplex*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_INT&, const F77_CMPLX&,
+                           const F77_CMPLX*, const F77_INT&,
+                           const F77_CMPLX*, const F77_INT&,
+                           const F77_CMPLX&, F77_CMPLX*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cgemv, CGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const FloatComplex&, const FloatComplex*,
-                           const octave_idx_type&, const FloatComplex*,
-                           const octave_idx_type&, const FloatComplex&,
-                           FloatComplex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_CMPLX&, const F77_CMPLX*,
+                           const F77_INT&, const F77_CMPLX*,
+                           const F77_INT&, const F77_CMPLX&,
+                           F77_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (xcdotu, XCDOTU) (const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, FloatComplex&);
+  F77_FUNC (xcdotu, XCDOTU) (const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX&);
 
   F77_RET_T
-  F77_FUNC (xcdotc, XCDOTC) (const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, FloatComplex&);
+  F77_FUNC (xcdotc, XCDOTC) (const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX&);
 
   F77_RET_T
   F77_FUNC (csyrk, CSYRK) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const FloatComplex&, const FloatComplex*,
-                           const octave_idx_type&, const FloatComplex&,
-                           FloatComplex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_CMPLX&, const F77_CMPLX*,
+                           const F77_INT&, const F77_CMPLX&,
+                           F77_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cherk, CHERK) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const float&, const FloatComplex*,
-                           const octave_idx_type&, const float&,
-                           FloatComplex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_REAL&, const F77_CMPLX*,
+                           const F77_INT&, const F77_REAL&,
+                           F77_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (cgetrf, CGETRF) (const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (cgetrf, CGETRF) (const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_INT*, F77_INT&);
 
   F77_RET_T
   F77_FUNC (cgetrs, CGETRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             const octave_idx_type*, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             const F77_INT*, F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (cgetri, CGETRI) (const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const octave_idx_type*,
-                             FloatComplex*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (cgetri, CGETRI) (const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_INT*,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_INT&);
 
   F77_RET_T
   F77_FUNC (cgecon, CGECON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const float&, float&,
-                             FloatComplex*, float*, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_REAL&, F77_REAL&,
+                             F77_CMPLX*, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (cgelsy, CGELSY) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type*,
-                             float&, octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, float*, octave_idx_type&);
+  F77_FUNC (cgelsy, CGELSY) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT*,
+                             F77_REAL&, F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_REAL*, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cgelsd, CGELSD) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, float*, float&,
-                             octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, float*,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (cgelsd, CGELSD) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_REAL*, F77_REAL&,
+                             F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_REAL*,
+                             F77_INT*, F77_INT&);
 
   F77_RET_T
   F77_FUNC (cpotrf, CPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cpocon, CPOCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const float&, float&,
-                             FloatComplex*, float*, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_REAL&, F77_REAL&,
+                             F77_CMPLX*, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cpotrs, CPOTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&,
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (ctrtri, CTRTRI) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
@@ -221,9 +221,9 @@
   F77_FUNC (ctrcon, CTRCON) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, float&, FloatComplex*,
-                             float*, octave_idx_type&
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, F77_REAL&, F77_CMPLX*,
+                             F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
@@ -232,34 +232,34 @@
   F77_FUNC (ctrtrs, CTRTRS) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (clartg, CLARTG) (const FloatComplex&, const FloatComplex&,
-                             float&, FloatComplex&, FloatComplex&);
+  F77_FUNC (clartg, CLARTG) (const F77_CMPLX&, const F77_CMPLX&,
+                             F77_REAL&, F77_CMPLX&, F77_CMPLX&);
 
   F77_RET_T
   F77_FUNC (ctrsyl, CTRSYL) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, float&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, F77_REAL&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (xclange, XCLANGE) (F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&, const octave_idx_type&,
-                               const FloatComplex*, const octave_idx_type&,
-                               float*, float&
+                               const F77_INT&, const F77_INT&,
+                               const F77_CMPLX*, const F77_INT&,
+                               F77_REAL*, F77_REAL&
                                F77_CHAR_ARG_LEN_DECL);
 }
 
@@ -1273,15 +1273,13 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (cffti, CFFTI) (const octave_idx_type&, FloatComplex*);
+  F77_FUNC (cffti, CFFTI) (const F77_INT&, F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cfftf, CFFTF) (const octave_idx_type&, FloatComplex*,
-                           FloatComplex*);
+  F77_FUNC (cfftf, CFFTF) (const F77_INT&, F77_CMPLX*, F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cfftb, CFFTB) (const octave_idx_type&, FloatComplex*,
-                           FloatComplex*);
+  F77_FUNC (cfftb, CFFTB) (const F77_INT&, F77_CMPLX*, F77_CMPLX*);
 }
 
 FloatComplexMatrix
--- a/liboctave/array/fCNDArray.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/fCNDArray.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -191,15 +191,15 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (cffti, CFFTI) (const octave_idx_type&, FloatComplex*);
+  F77_FUNC (cffti, CFFTI) (const F77_INT&, F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cfftf, CFFTF) (const octave_idx_type&, FloatComplex*,
-                           FloatComplex*);
+  F77_FUNC (cfftf, CFFTF) (const F77_INT&, F77_CMPLX*,
+                           F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cfftb, CFFTB) (const octave_idx_type&, FloatComplex*,
-                           FloatComplex*);
+  F77_FUNC (cfftb, CFFTB) (const F77_INT&, F77_CMPLX*,
+                           F77_CMPLX*);
 }
 
 FloatComplexNDArray
--- a/liboctave/array/fCRowVector.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/fCRowVector.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -41,17 +41,17 @@
 {
   F77_RET_T
   F77_FUNC (cgemv, CGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const FloatComplex&, const FloatComplex*,
-                           const octave_idx_type&, const FloatComplex*,
-                           const octave_idx_type&, const FloatComplex&,
-                           FloatComplex*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_CMPLX&, const F77_CMPLX*,
+                           const F77_INT&, const F77_CMPLX*,
+                           const F77_INT&, const F77_CMPLX&,
+                           F77_CMPLX*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (xcdotu, XCDOTU) (const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, const FloatComplex*,
-                             const octave_idx_type&, FloatComplex&);
+  F77_FUNC (xcdotu, XCDOTU) (const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, const F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX&);
 }
 
 // FloatComplex Row Vector class
--- a/liboctave/array/fColVector.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/fColVector.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -42,10 +42,10 @@
 {
   F77_RET_T
   F77_FUNC (sgemv, SGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const float&, const float*, const octave_idx_type&,
-                           const float*, const octave_idx_type&, const float&,
-                           float*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_REAL&, const F77_REAL*, const F77_INT&,
+                           const F77_REAL*, const F77_INT&, const F77_REAL&,
+                           F77_REAL*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 }
 
--- a/liboctave/array/fMatrix.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/fMatrix.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -70,143 +70,143 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (xilaenv, XILAENV) (const octave_idx_type&,
+  F77_FUNC (xilaenv, XILAENV) (const F77_INT&,
                                F77_CONST_CHAR_ARG_DECL,
                                F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&, const octave_idx_type&,
-                               const octave_idx_type&, const octave_idx_type&,
-                               octave_idx_type&
+                               const F77_INT&, const F77_INT&,
+                               const F77_INT&, const F77_INT&,
+                               F77_INT&
                                F77_CHAR_ARG_LEN_DECL
                                F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgebal, SGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, float*, octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgebak, SGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgemm, SGEMM) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const octave_idx_type&, const float&, const float*,
-                           const octave_idx_type&, const float*,
-                           const octave_idx_type&, const float&, float*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_INT&, const F77_REAL&, const F77_REAL*,
+                           const F77_INT&, const F77_REAL*,
+                           const F77_INT&, const F77_REAL&, F77_REAL*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgemv, SGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const float&, const float*,
-                           const octave_idx_type&, const float*,
-                           const octave_idx_type&, const float&, float*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_REAL&, const F77_REAL*,
+                           const F77_INT&, const F77_REAL*,
+                           const F77_INT&, const F77_REAL&, F77_REAL*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (xsdot, XSDOT) (const octave_idx_type&, const float*,
-                           const octave_idx_type&, const float*,
-                           const octave_idx_type&, float&);
+  F77_FUNC (xsdot, XSDOT) (const F77_INT&, const F77_REAL*,
+                           const F77_INT&, const F77_REAL*,
+                           const F77_INT&, F77_REAL&);
 
   F77_RET_T
   F77_FUNC (ssyrk, SSYRK) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const float&, const float*, const octave_idx_type&,
-                           const float&, float*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_REAL&, const F77_REAL*, const F77_INT&,
+                           const F77_REAL&, F77_REAL*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (sgetrf, SGETRF) (const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (sgetrf, SGETRF) (const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&,
+                             F77_INT*, F77_INT&);
 
   F77_RET_T
   F77_FUNC (sgetrs, SGETRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const float*, const octave_idx_type&,
-                             const octave_idx_type*, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_REAL*, const F77_INT&,
+                             const F77_INT*, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (sgetri, SGETRI) (const octave_idx_type&, float*,
-                             const octave_idx_type&, const octave_idx_type*,
-                             float*, const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (sgetri, SGETRI) (const F77_INT&, F77_REAL*,
+                             const F77_INT&, const F77_INT*,
+                             F77_REAL*, const F77_INT&, F77_INT&);
 
   F77_RET_T
   F77_FUNC (sgecon, SGECON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, const float&, float&,
-                             float*, octave_idx_type*, octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, const F77_REAL&, F77_REAL&,
+                             F77_REAL*, F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (sgelsy, SGELSY) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type*,
-                             float&, octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (sgelsy, SGELSY) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT*,
+                             F77_REAL&, F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (sgelsd, SGELSD) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*, float&,
-                             octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type&);
+  F77_FUNC (sgelsd, SGELSD) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*, F77_REAL&,
+                             F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT*,
+                             F77_INT&);
 
   F77_RET_T
   F77_FUNC (spotrf, SPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float *,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_REAL *,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (spocon, SPOCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, const float&,
-                             float&, float*, octave_idx_type*,
-                             octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, const F77_REAL&,
+                             F77_REAL&, F77_REAL*, F77_INT*,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
   F77_FUNC (spotrs, SPOTRS) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const float*, const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_REAL*, const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (strtri, STRTRI) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
   F77_FUNC (strcon, STRCON) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const float*,
-                             const octave_idx_type&, float&,
-                             float*, octave_idx_type*, octave_idx_type&
+                             const F77_INT&, const F77_REAL*,
+                             const F77_INT&, F77_REAL&,
+                             F77_REAL*, F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
@@ -214,34 +214,34 @@
   F77_FUNC (strtrs, STRTRS) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
-                             const octave_idx_type&, const float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&,
+                             const F77_INT&, const F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (slartg, SLARTG) (const float&, const float&, float&,
-                             float&, float&);
+  F77_FUNC (slartg, SLARTG) (const F77_REAL&, const F77_REAL&, F77_REAL&,
+                             F77_REAL&, F77_REAL&);
 
   F77_RET_T
   F77_FUNC (strsyl, STRSYL) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const float*,
-                             const octave_idx_type&, const float*,
-                             const octave_idx_type&, const float*,
-                             const octave_idx_type&, float&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_REAL*,
+                             const F77_INT&, const F77_REAL*,
+                             const F77_INT&, const F77_REAL*,
+                             const F77_INT&, F77_REAL&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (xslange, XSLANGE) (F77_CONST_CHAR_ARG_DECL,
-                               const octave_idx_type&,
-                               const octave_idx_type&, const float*,
-                               const octave_idx_type&, float*, float&
+                               const F77_INT&,
+                               const F77_INT&, const F77_REAL*,
+                               const F77_INT&, F77_REAL*, F77_REAL&
                                F77_CHAR_ARG_LEN_DECL);
 }
 
@@ -960,15 +960,13 @@
   // each subroutine.
 
   F77_RET_T
-  F77_FUNC (cffti, CFFTI) (const octave_idx_type&, FloatComplex*);
+  F77_FUNC (cffti, CFFTI) (const F77_INT&, F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cfftf, CFFTF) (const octave_idx_type&, FloatComplex*,
-                           FloatComplex*);
+  F77_FUNC (cfftf, CFFTF) (const F77_INT&, F77_CMPLX*, F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cfftb, CFFTB) (const octave_idx_type&, FloatComplex*,
-                           FloatComplex*);
+  F77_FUNC (cfftb, CFFTB) (const F77_INT&, F77_CMPLX*, F77_CMPLX*);
 }
 
 FloatComplexMatrix
--- a/liboctave/array/fNDArray.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/fNDArray.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -195,15 +195,15 @@
   // each subroutine.
 
   F77_RET_T
-  F77_FUNC (cffti, CFFTI) (const octave_idx_type&, FloatComplex*);
+  F77_FUNC (cffti, CFFTI) (const F77_INT&, F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cfftf, CFFTF) (const octave_idx_type&, FloatComplex*,
-                           FloatComplex*);
+  F77_FUNC (cfftf, CFFTF) (const F77_INT&, F77_CMPLX*,
+                           F77_CMPLX*);
 
   F77_RET_T
-  F77_FUNC (cfftb, CFFTB) (const octave_idx_type&, FloatComplex*,
-                           FloatComplex*);
+  F77_FUNC (cfftb, CFFTB) (const F77_INT&, F77_CMPLX*,
+                           F77_CMPLX*);
 }
 
 FloatComplexNDArray
--- a/liboctave/array/fRowVector.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/array/fRowVector.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -41,16 +41,16 @@
 {
   F77_RET_T
   F77_FUNC (sgemv, SGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const float&, const float*,
-                           const octave_idx_type&, const float*,
-                           const octave_idx_type&, const float&,
-                           float*, const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_REAL&, const F77_REAL*,
+                           const F77_INT&, const F77_REAL*,
+                           const F77_INT&, const F77_REAL&,
+                           F77_REAL*, const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
-  F77_FUNC (xsdot, XSDOT) (const octave_idx_type&, const float*,
-                           const octave_idx_type&, const float*,
-                           const octave_idx_type&, float&);
+  F77_FUNC (xsdot, XSDOT) (const F77_INT&, const F77_REAL*,
+                           const F77_INT&, const F77_REAL*,
+                           const F77_INT&, F77_REAL&);
 }
 
 // Row Vector class.
--- a/liboctave/cruft/misc/f77-fcn.h	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/cruft/misc/f77-fcn.h	Sun Jul 17 12:42:37 2016 -0400
@@ -113,10 +113,17 @@
   F77_CHAR_ARG_USE(s)
   F77_CHAR_ARG_LEN_USE(s, len)
 
-Use this macro to declare the return type of a C-language function
-that is supposed to act like a Fortran subroutine:
+Use these macros for C++ code
 
-  F77_RET_T int
+  F77_INT         Equivalent to Fortran INTEGER type
+  F77_INT4        Equivalent to Fortran INTEGER*4 type
+  F77_DBLE        Equivalent to Fortran DOUBLE PRECISION type
+  F77_REAL        Equivalent to Fortran REAL type
+  F77_CMPLX       Equivalent to Fortran COMPLEX type
+  F77_DBLE_CMPLX  Equivalent to Fortran DOUBLE COMPLEX type
+  F77_LOGICAL     Equivalent to Fortran LOGICAL type
+  F77_RET_T       Return type of a C++ function that acts like a
+                  Fortran subroutine.
 
 Use these macros to return from C-language functions that are supposed
 to act like Fortran subroutines.  F77_NORETURN is intended to be used
@@ -158,8 +165,6 @@
 #define F77_CHAR_ARG_USE(s) s.ptr
 #define F77_CHAR_ARG_LEN_USE(s, len) (s.mask.len >> 3)
 
-/* Use this macro to declare the return type of a C-language function
-   that is supposed to act like a Fortran subroutine.  */
 #define F77_RET_T int
 
 /* Use these macros to return from C-language functions that are
@@ -190,7 +195,7 @@
 
 typedef void *octave_cray_ftn_ch_dsc;
 
-#if defined (__cplusplus)
+ #if defined (__cplusplus)
 #  define OCTAVE_F77_FCN_INLINE inline
 #else
 #  define OCTAVE_F77_FCN_INLINE
@@ -214,10 +219,8 @@
   return *((octave_cray_ftn_ch_dsc *) &desc);
 }
 
-#if defined (__cplusplus)
-#  undef OCTAVE_F77_FCN_INLINE
-#endif
-
+#undef OCTAVE_F77_FCN_INLINE
+  
 #elif defined (F77_USES_VISUAL_FORTRAN_CALLING_CONVENTION)
 
 /* Use these macros to pass character strings from C to Fortran.  */
@@ -273,6 +276,14 @@
 
 #endif
 
+#define F77_DBLE double
+#define F77_REAL float
+#define F77_DBLE_CMPLX Complex
+#define F77_CMPLX FloatComplex
+#define F77_INT octave_idx_type
+#define F77_INT4 int32_t
+#define F77_LOGICAL octave_idx_type
+
 /* Build a C string local variable CS from the Fortran string parameter S
    declared as F77_CHAR_ARG_DEF(s, len) or F77_CONST_CHAR_ARG_DEF(s, len).
    The string will be cleaned up at the end of the current block.
--- a/liboctave/numeric/DASPK.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/DASPK.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -56,13 +56,13 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (ddaspk, DDASPK) (daspk_fcn_ptr, const octave_idx_type&,
-                             double&, double*, double*, double&,
-                             const octave_idx_type*, const double*,
-                             const double*, octave_idx_type&,
-                             double*, const octave_idx_type&,
-                             octave_idx_type*, const octave_idx_type&,
-                             const double*, const octave_idx_type*,
+  F77_FUNC (ddaspk, DDASPK) (daspk_fcn_ptr, const F77_INT&,
+                             F77_DBLE&, F77_DBLE*, F77_DBLE*, F77_DBLE&,
+                             const F77_INT*, const F77_DBLE*,
+                             const F77_DBLE*, F77_INT&,
+                             F77_DBLE*, const F77_INT&,
+                             F77_INT*, const F77_INT&,
+                             const F77_DBLE*, const F77_INT*,
                              daspk_jac_ptr, daspk_psol_ptr);
 }
 
--- a/liboctave/numeric/DASRT.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/DASRT.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -53,15 +53,15 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (ddasrt, DDASRT) (dasrt_fcn_ptr, const octave_idx_type&,
-                             double&, double*, double*, const double&,
-                             octave_idx_type*, const double*,
-                             const double*, octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type*,
-                             const octave_idx_type&, double*,
-                             octave_idx_type*, dasrt_jac_ptr,
-                             dasrt_constr_ptr, const octave_idx_type&,
-                             octave_idx_type*);
+  F77_FUNC (ddasrt, DDASRT) (dasrt_fcn_ptr, const F77_INT&,
+                             F77_DBLE&, F77_DBLE*, F77_DBLE*, const F77_DBLE&,
+                             F77_INT*, const F77_DBLE*,
+                             const F77_DBLE*, F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT*,
+                             const F77_INT&, F77_DBLE*,
+                             F77_INT*, dasrt_jac_ptr,
+                             dasrt_constr_ptr, const F77_INT&,
+                             F77_INT*);
 }
 
 static DAEFunc::DAERHSFunc user_fsub;
--- a/liboctave/numeric/DASSL.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/DASSL.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -47,13 +47,13 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (ddassl, DDASSL) (dassl_fcn_ptr, const octave_idx_type&,
-                             double&, double*, double*, double&,
-                             const octave_idx_type*, const double*,
-                             const double*, octave_idx_type&,
-                             double*, const octave_idx_type&,
-                             octave_idx_type*, const octave_idx_type&,
-                             const double*, const octave_idx_type*,
+  F77_FUNC (ddassl, DDASSL) (dassl_fcn_ptr, const F77_INT&,
+                             F77_DBLE&, F77_DBLE*, F77_DBLE*, F77_DBLE&,
+                             const F77_INT*, const F77_DBLE*,
+                             const F77_DBLE*, F77_INT&,
+                             F77_DBLE*, const F77_INT&,
+                             F77_INT*, const F77_INT&,
+                             const F77_DBLE*, const F77_INT*,
                              dassl_jac_ptr);
 }
 
--- a/liboctave/numeric/EIG.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/EIG.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -34,102 +34,102 @@
   F77_RET_T
   F77_FUNC (dgeev, DGEEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, double*,
-                           const octave_idx_type&, double*, double*,
-                           double*, const octave_idx_type&, double*,
-                           const octave_idx_type&, double*,
-                           const octave_idx_type&, octave_idx_type&
+                           const F77_INT&, F77_DBLE*,
+                           const F77_INT&, F77_DBLE*, F77_DBLE*,
+                           F77_DBLE*, const F77_INT&, F77_DBLE*,
+                           const F77_INT&, F77_DBLE*,
+                           const F77_INT&, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgeev, ZGEEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, Complex*,
-                           const octave_idx_type&, Complex*,
-                           Complex*, const octave_idx_type&, Complex*,
-                           const octave_idx_type&, Complex*,
-                           const octave_idx_type&, double*, octave_idx_type&
+                           const F77_INT&, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE_CMPLX*,
+                           F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE*, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dsyev, DSYEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, double*,
-                           const octave_idx_type&, double*, double*,
-                           const octave_idx_type&, octave_idx_type&
+                           const F77_INT&, F77_DBLE*,
+                           const F77_INT&, F77_DBLE*, F77_DBLE*,
+                           const F77_INT&, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zheev, ZHEEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, Complex*,
-                           const octave_idx_type&, double*,
-                           Complex*, const octave_idx_type&, double*,
-                           octave_idx_type&
+                           const F77_INT&, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE*,
+                           F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE*,
+                           F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dpotrf, DPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zpotrf, ZPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
-                             Complex*, const octave_idx_type&,
-                             octave_idx_type&
+                             const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dggev, DGGEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&,
-                           double*, const octave_idx_type&,
-                           double*, const octave_idx_type&,
-                           double*, double*, double *, double*,
-                           const octave_idx_type&, double*,
-                           const octave_idx_type&, double*,
-                           const octave_idx_type&, octave_idx_type&
+                           const F77_INT&,
+                           F77_DBLE*, const F77_INT&,
+                           F77_DBLE*, const F77_INT&,
+                           F77_DBLE*, F77_DBLE*, F77_DBLE *, F77_DBLE*,
+                           const F77_INT&, F77_DBLE*,
+                           const F77_INT&, F77_DBLE*,
+                           const F77_INT&, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dsygv, DSYGV) (const octave_idx_type&,
+  F77_FUNC (dsygv, DSYGV) (const F77_INT&,
                            F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, double*,
-                           const octave_idx_type&, double*,
-                           const octave_idx_type&, double*, double*,
-                           const octave_idx_type&, octave_idx_type&
+                           const F77_INT&, F77_DBLE*,
+                           const F77_INT&, F77_DBLE*,
+                           const F77_INT&, F77_DBLE*, F77_DBLE*,
+                           const F77_INT&, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zggev, ZGGEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&,
-                           Complex*, const octave_idx_type&,
-                           Complex*, const octave_idx_type&,
-                           Complex*, Complex*, Complex*,
-                           const octave_idx_type&, Complex*,
-                           const octave_idx_type&, Complex*,
-                           const octave_idx_type&, double*, octave_idx_type&
+                           const F77_INT&,
+                           F77_DBLE_CMPLX*, const F77_INT&,
+                           F77_DBLE_CMPLX*, const F77_INT&,
+                           F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE*, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zhegv, ZHEGV) (const octave_idx_type&,
+  F77_FUNC (zhegv, ZHEGV) (const F77_INT&,
                            F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, Complex*,
-                           const octave_idx_type&, Complex*,
-                           const octave_idx_type&, double*, Complex*,
-                           const octave_idx_type&, double*, octave_idx_type&
+                           const F77_INT&, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE*, F77_DBLE_CMPLX*,
+                           const F77_INT&, F77_DBLE*, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 }
--- a/liboctave/numeric/LSODE.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/LSODE.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -47,13 +47,13 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dlsode, DLSODE) (lsode_fcn_ptr, octave_idx_type&, double*,
-                             double&, double&, octave_idx_type&, double&,
-                             const double*, octave_idx_type&,
-                             octave_idx_type&, octave_idx_type&,
-                             double*, octave_idx_type&, octave_idx_type*,
-                             octave_idx_type&, lsode_jac_ptr,
-                             octave_idx_type&);
+  F77_FUNC (dlsode, DLSODE) (lsode_fcn_ptr, F77_INT&, F77_DBLE*,
+                             F77_DBLE&, F77_DBLE&, F77_INT&, F77_DBLE&,
+                             const F77_DBLE*, F77_INT&,
+                             F77_INT&, F77_INT&,
+                             F77_DBLE*, F77_INT&, F77_INT*,
+                             F77_INT&, lsode_jac_ptr,
+                             F77_INT&);
 }
 
 static ODEFunc::ODERHSFunc user_fun;
--- a/liboctave/numeric/Quad.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/Quad.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -44,36 +44,36 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dqagp, DQAGP) (quad_fcn_ptr, const double&, const double&,
-                           const octave_idx_type&, const double*,
-                           const double&, const double&, double&,
-                           double&, octave_idx_type&, octave_idx_type&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           octave_idx_type&, octave_idx_type*, double*);
+  F77_FUNC (dqagp, DQAGP) (quad_fcn_ptr, const F77_DBLE&, const F77_DBLE&,
+                           const F77_INT&, const F77_DBLE*,
+                           const F77_DBLE&, const F77_DBLE&, F77_DBLE&,
+                           F77_DBLE&, F77_INT&, F77_INT&,
+                           const F77_INT&, const F77_INT&,
+                           F77_INT&, F77_INT*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (dqagi, DQAGI) (quad_fcn_ptr, const double&,
-                           const octave_idx_type&, const double&,
-                           const double&, double&, double&,
-                           octave_idx_type&, octave_idx_type&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           octave_idx_type&, octave_idx_type*, double*);
+  F77_FUNC (dqagi, DQAGI) (quad_fcn_ptr, const F77_DBLE&,
+                           const F77_INT&, const F77_DBLE&,
+                           const F77_DBLE&, F77_DBLE&, F77_DBLE&,
+                           F77_INT&, F77_INT&,
+                           const F77_INT&, const F77_INT&,
+                           F77_INT&, F77_INT*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (qagp, QAGP) (quad_float_fcn_ptr, const float&, const float&,
-                         const octave_idx_type&, const float*, const float&,
-                         const float&, float&, float&, octave_idx_type&,
-                         octave_idx_type&, const octave_idx_type&,
-                         const octave_idx_type&, octave_idx_type&,
-                         octave_idx_type*, float*);
+  F77_FUNC (qagp, QAGP) (quad_float_fcn_ptr, const F77_REAL&, const F77_REAL&,
+                         const F77_INT&, const F77_REAL*, const F77_REAL&,
+                         const F77_REAL&, F77_REAL&, F77_REAL&, F77_INT&,
+                         F77_INT&, const F77_INT&,
+                         const F77_INT&, F77_INT&,
+                         F77_INT*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (qagi, QAGI) (quad_float_fcn_ptr, const float&,
-                         const octave_idx_type&, const float&,
-                         const float&, float&, float&, octave_idx_type&,
-                         octave_idx_type&, const octave_idx_type&,
-                         const octave_idx_type&, octave_idx_type&,
-                         octave_idx_type*, float*);
+  F77_FUNC (qagi, QAGI) (quad_float_fcn_ptr, const F77_REAL&,
+                         const F77_INT&, const F77_REAL&,
+                         const F77_REAL&, F77_REAL&, F77_REAL&, F77_INT&,
+                         F77_INT&, const F77_INT&,
+                         const F77_INT&, F77_INT&,
+                         F77_INT*, F77_REAL*);
 }
 
 static octave_idx_type
--- a/liboctave/numeric/aepbalance.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/aepbalance.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -42,69 +42,69 @@
 {
   F77_RET_T
   F77_FUNC (dgebal, DGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgebak, DGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgebal, SGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, float*, octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgebak, SGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgebal, ZGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgebak, ZGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const double*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_DBLE*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cgebal, CGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, float*, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cgebak, CGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, const float*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, const F77_REAL*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 }
--- a/liboctave/numeric/chol.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/chol.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -53,182 +53,182 @@
 {
   F77_RET_T
   F77_FUNC (dpotrf, DPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dpotri, DPOTRI) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dpocon, DPOCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, const double&,
-                             double&, double*, octave_idx_type*,
-                             octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_DBLE&,
+                             F77_DBLE&, F77_DBLE*, F77_INT*,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 #if defined (HAVE_QRUPDATE)
 
   F77_RET_T
-  F77_FUNC (dch1up, DCH1UP) (const octave_idx_type&, double*,
-                             const octave_idx_type&, double*, double*);
+  F77_FUNC (dch1up, DCH1UP) (const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (dch1dn, DCH1DN) (const octave_idx_type&, double*,
-                             const octave_idx_type&, double*, double*,
-                             octave_idx_type&);
+  F77_FUNC (dch1dn, DCH1DN) (const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*, F77_DBLE*,
+                             F77_INT&);
 
   F77_RET_T
-  F77_FUNC (dchinx, DCHINX) (const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*, double*, octave_idx_type&);
+  F77_FUNC (dchinx, DCHINX) (const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*, F77_DBLE*, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (dchdex, DCHDEX) (const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*);
+  F77_FUNC (dchdex, DCHDEX) (const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (dchshx, DCHSHX) (const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*);
+  F77_FUNC (dchshx, DCHSHX) (const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*);
 #endif
 
   F77_RET_T
   F77_FUNC (spotrf, SPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (spotri, SPOTRI) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (spocon, SPOCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, const float&,
-                             float&, float*, octave_idx_type*,
-                             octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, const F77_REAL&,
+                             F77_REAL&, F77_REAL*, F77_INT*,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 #if defined (HAVE_QRUPDATE)
 
   F77_RET_T
-  F77_FUNC (sch1up, SCH1UP) (const octave_idx_type&, float*,
-                             const octave_idx_type&, float*, float*);
+  F77_FUNC (sch1up, SCH1UP) (const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (sch1dn, SCH1DN) (const octave_idx_type&, float*,
-                             const octave_idx_type&, float*, float*,
-                             octave_idx_type&);
+  F77_FUNC (sch1dn, SCH1DN) (const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*, F77_REAL*,
+                             F77_INT&);
 
   F77_RET_T
-  F77_FUNC (schinx, SCHINX) (const octave_idx_type&, float*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             float*, float*, octave_idx_type&);
+  F77_FUNC (schinx, SCHINX) (const F77_INT&, F77_REAL*,
+                             const F77_INT&, const F77_INT&,
+                             F77_REAL*, F77_REAL*, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (schdex, SCHDEX) (const octave_idx_type&, float*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             float*);
+  F77_FUNC (schdex, SCHDEX) (const F77_INT&, F77_REAL*,
+                             const F77_INT&, const F77_INT&,
+                             F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (schshx, SCHSHX) (const octave_idx_type&, float*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*);
+  F77_FUNC (schshx, SCHSHX) (const F77_INT&, F77_REAL*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*);
 #endif
 
   F77_RET_T
   F77_FUNC (zpotrf, ZPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
   F77_FUNC (zpotri, ZPOTRI) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zpocon, ZPOCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const double&,
-                             double&, Complex*, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE&,
+                             F77_DBLE&, F77_DBLE_CMPLX*, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 #if defined (HAVE_QRUPDATE)
 
   F77_RET_T
-  F77_FUNC (zch1up, ZCH1UP) (const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*, double*);
+  F77_FUNC (zch1up, ZCH1UP) (const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (zch1dn, ZCH1DN) (const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*, double*,
-                             octave_idx_type&);
+  F77_FUNC (zch1dn, ZCH1DN) (const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE*,
+                             F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zchinx, ZCHINX) (const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             Complex*, double*, octave_idx_type&);
+  F77_FUNC (zchinx, ZCHINX) (const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, F77_DBLE*, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zchdex, ZCHDEX) (const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*);
+  F77_FUNC (zchdex, ZCHDEX) (const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (zchshx, ZCHSHX) (const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*, double*);
+  F77_FUNC (zchshx, ZCHSHX) (const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE*);
 #endif
 
   F77_RET_T
   F77_FUNC (cpotrf, CPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
   F77_FUNC (cpotri, CPOTRI) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cpocon, CPOCON) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const float&,
-                             float&, FloatComplex*, float*, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_REAL&,
+                             F77_REAL&, F77_CMPLX*, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 #if defined (HAVE_QRUPDATE)
 
   F77_RET_T
-  F77_FUNC (cch1up, CCH1UP) (const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*, float*);
+  F77_FUNC (cch1up, CCH1UP) (const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (cch1dn, CCH1DN) (const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             float*, octave_idx_type&);
+  F77_FUNC (cch1dn, CCH1DN) (const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             F77_REAL*, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cchinx, CCHINX) (const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, float*, octave_idx_type&);
+  F77_FUNC (cchinx, CCHINX) (const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, F77_REAL*, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cchdex, CCHDEX) (const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             float*);
+  F77_FUNC (cchdex, CCHDEX) (const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (cchshx, CCHSHX) (const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*, float*);
+  F77_FUNC (cchshx, CCHSHX) (const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*, F77_REAL*);
 #endif
 }
 
--- a/liboctave/numeric/eigs-base.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/eigs-base.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -49,112 +49,112 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dsaupd, DSAUPD) (octave_idx_type&,
+  F77_FUNC (dsaupd, DSAUPD) (F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
+                             const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const double&,
-                             double*, const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type*, double*, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_DBLE&,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT*,
+                             F77_INT*, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dseupd, DSEUPD) (const octave_idx_type&,
+  F77_FUNC (dseupd, DSEUPD) (const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             octave_idx_type*, double*, double*,
-                             const octave_idx_type&, const double&,
+                             F77_INT*, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, const F77_DBLE&,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
+                             const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const double&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type*, double*, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_DBLE&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT*,
+                             F77_INT*, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dnaupd, DNAUPD) (octave_idx_type&,
+  F77_FUNC (dnaupd, DNAUPD) (F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
+                             const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             octave_idx_type&, const double&,
-                             double*, const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type*, double*, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             F77_INT&, const F77_DBLE&,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT*,
+                             F77_INT*, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dneupd, DNEUPD) (const octave_idx_type&,
+  F77_FUNC (dneupd, DNEUPD) (const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             octave_idx_type*, double*, double*,
-                             double*, const octave_idx_type&, const double&,
-                             const double&, double*,
+                             F77_INT*, F77_DBLE*, F77_DBLE*,
+                             F77_DBLE*, const F77_INT&, const F77_DBLE&,
+                             const F77_DBLE&, F77_DBLE*,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
+                             const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             octave_idx_type&, const double&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type*, double*, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             F77_INT&, const F77_DBLE&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT*,
+                             F77_INT*, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (znaupd, ZNAUPD) (octave_idx_type&,
+  F77_FUNC (znaupd, ZNAUPD) (F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
+                             const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const double&,
-                             Complex*, const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type*, Complex*, Complex*,
-                             const octave_idx_type&, double *, octave_idx_type&
+                             const F77_INT&, const F77_DBLE&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT*,
+                             F77_INT*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE *, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zneupd, ZNEUPD) (const octave_idx_type&,
+  F77_FUNC (zneupd, ZNEUPD) (const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             octave_idx_type*, Complex*, Complex*,
-                             const octave_idx_type&, const Complex&, Complex*,
+                             F77_INT*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_DBLE_CMPLX&, F77_DBLE_CMPLX*,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&,
+                             const F77_INT&,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const double&,
-                             Complex*, const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type*, Complex*, Complex*,
-                             const octave_idx_type&, double *, octave_idx_type&
+                             const F77_INT&, const F77_DBLE&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT*,
+                             F77_INT*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE *, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgemv, DGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const double&, const double*,
-                           const octave_idx_type&, const double*,
-                           const octave_idx_type&, const double&, double*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE*,
+                           const F77_INT&, const F77_DBLE&, F77_DBLE*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgemv, ZGEMV) (F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const Complex&, const Complex*,
-                           const octave_idx_type&, const Complex*,
-                           const octave_idx_type&, const Complex&, Complex*,
-                           const octave_idx_type&
+                           const F77_INT&, const F77_INT&,
+                           const F77_DBLE_CMPLX&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX*,
+                           const F77_INT&, const F77_DBLE_CMPLX&, F77_DBLE_CMPLX*,
+                           const F77_INT&
                            F77_CHAR_ARG_LEN_DECL);
 
 }
--- a/liboctave/numeric/fEIG.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/fEIG.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -34,99 +34,99 @@
   F77_RET_T
   F77_FUNC (sgeev, SGEEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, float*, float*, float*,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, octave_idx_type&
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_REAL*, F77_REAL*, F77_REAL*,
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cgeev, CGEEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, FloatComplex*, FloatComplex*,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, float*, octave_idx_type&
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_CMPLX*, F77_CMPLX*,
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_REAL*, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (ssyev, SSYEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, float*, float*,
-                           const octave_idx_type&, octave_idx_type&
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_REAL*, F77_REAL*,
+                           const F77_INT&, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cheev, CHEEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, float*, FloatComplex*,
-                           const octave_idx_type&, float*, octave_idx_type&
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_REAL*, F77_CMPLX*,
+                           const F77_INT&, F77_REAL*, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (spotrf, SPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cpotrf, CPOTRF) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sggev, SGGEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, float*, float*, float*,
-                           float*, const octave_idx_type&, float*,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, octave_idx_type&
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_REAL*, F77_REAL*, F77_REAL*,
+                           F77_REAL*, const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (ssygv, SSYGV) (const octave_idx_type&,
+  F77_FUNC (ssygv, SSYGV) (const F77_INT&,
                            F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, float*,
-                           const octave_idx_type&, float*, float*,
-                           const octave_idx_type&, octave_idx_type&
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_REAL*,
+                           const F77_INT&, F77_REAL*, F77_REAL*,
+                           const F77_INT&, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cggev, CGGEV) (F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, FloatComplex*,
-                           FloatComplex*, FloatComplex*,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, float*, octave_idx_type&
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_CMPLX*,
+                           F77_CMPLX*, F77_CMPLX*,
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_REAL*, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (chegv, CHEGV) (const octave_idx_type&,
+  F77_FUNC (chegv, CHEGV) (const F77_INT&,
                            F77_CONST_CHAR_ARG_DECL,
                            F77_CONST_CHAR_ARG_DECL,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, FloatComplex*,
-                           const octave_idx_type&, float*, FloatComplex*,
-                           const octave_idx_type&, float*, octave_idx_type&
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_CMPLX*,
+                           const F77_INT&, F77_REAL*, F77_CMPLX*,
+                           const F77_INT&, F77_REAL*, F77_INT&
                            F77_CHAR_ARG_LEN_DECL
                            F77_CHAR_ARG_LEN_DECL);
 }
--- a/liboctave/numeric/gepbalance.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/gepbalance.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -40,66 +40,66 @@
 {
   F77_RET_T
   F77_FUNC (dggbal, DGGBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             double* A, const octave_idx_type& LDA,
-                             double* B, const octave_idx_type& LDB,
-                             octave_idx_type& ILO, octave_idx_type& IHI,
-                             double* LSCALE, double* RSCALE,
-                             double* WORK, octave_idx_type& INFO
+                             const F77_INT& N,
+                             F77_DBLE* A, const F77_INT& LDA,
+                             F77_DBLE* B, const F77_INT& LDB,
+                             F77_INT& ILO, F77_INT& IHI,
+                             F77_DBLE* LSCALE, F77_DBLE* RSCALE,
+                             F77_DBLE* WORK, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dggbak, DGGBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             const octave_idx_type& ILO,
-                             const octave_idx_type& IHI,
-                             const double* LSCALE, const double* RSCALE,
-                             octave_idx_type& M, double* V,
-                             const octave_idx_type& LDV, octave_idx_type& INFO
+                             const F77_INT& N,
+                             const F77_INT& ILO,
+                             const F77_INT& IHI,
+                             const F77_DBLE* LSCALE, const F77_DBLE* RSCALE,
+                             F77_INT& M, F77_DBLE* V,
+                             const F77_INT& LDV, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sggbal, SGGBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N, float* A,
-                             const octave_idx_type& LDA, float* B,
-                             const octave_idx_type& LDB,
-                             octave_idx_type& ILO, octave_idx_type& IHI,
-                             float* LSCALE, float* RSCALE,
-                             float* WORK, octave_idx_type& INFO
+                             const F77_INT& N, F77_REAL* A,
+                             const F77_INT& LDA, F77_REAL* B,
+                             const F77_INT& LDB,
+                             F77_INT& ILO, F77_INT& IHI,
+                             F77_REAL* LSCALE, F77_REAL* RSCALE,
+                             F77_REAL* WORK, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sggbak, SGGBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             const octave_idx_type& ILO,
-                             const octave_idx_type& IHI,
-                             const float* LSCALE, const float* RSCALE,
-                             octave_idx_type& M, float* V,
-                             const octave_idx_type& LDV, octave_idx_type& INFO
+                             const F77_INT& N,
+                             const F77_INT& ILO,
+                             const F77_INT& IHI,
+                             const F77_REAL* LSCALE, const F77_REAL* RSCALE,
+                             F77_INT& M, F77_REAL* V,
+                             const F77_INT& LDV, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zggbal, ZGGBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N, Complex* A,
-                             const octave_idx_type& LDA, Complex* B,
-                             const octave_idx_type& LDB,
-                             octave_idx_type& ILO, octave_idx_type& IHI,
-                             double* LSCALE, double* RSCALE,
-                             double* WORK, octave_idx_type& INFO
+                             const F77_INT& N, F77_DBLE_CMPLX* A,
+                             const F77_INT& LDA, F77_DBLE_CMPLX* B,
+                             const F77_INT& LDB,
+                             F77_INT& ILO, F77_INT& IHI,
+                             F77_DBLE* LSCALE, F77_DBLE* RSCALE,
+                             F77_DBLE* WORK, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cggbal, CGGBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type& N,
-                             FloatComplex* A, const octave_idx_type& LDA,
-                             FloatComplex* B, const octave_idx_type& LDB,
-                             octave_idx_type& ILO, octave_idx_type& IHI,
-                             float* LSCALE, float* RSCALE,
-                             float* WORK, octave_idx_type& INFO
+                             const F77_INT& N,
+                             F77_CMPLX* A, const F77_INT& LDA,
+                             F77_CMPLX* B, const F77_INT& LDB,
+                             F77_INT& ILO, F77_INT& IHI,
+                             F77_REAL* LSCALE, F77_REAL* RSCALE,
+                             F77_REAL* WORK, F77_INT& INFO
                              F77_CHAR_ARG_LEN_DECL);
 }
 
--- a/liboctave/numeric/hess.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/hess.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -36,119 +36,119 @@
 {
   F77_RET_T
   F77_FUNC (dgebal, DGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (dgehrd, DGEHRD) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*, double*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (dgehrd, DGEHRD) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (dorghr, DORGHR) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*, double*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (dorghr, DORGHR) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
   F77_FUNC (dgebak, DGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgebal, SGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, float*, octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (sgehrd, SGEHRD) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*, float*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (sgehrd, SGEHRD) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*, F77_REAL*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (sorghr, SORGHR) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*, float*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (sorghr, SORGHR) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*, F77_REAL*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
   F77_FUNC (sgebak, SGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgebal, ZGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, double*, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zgehrd, ZGEHRD) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*, Complex*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (zgehrd, ZGEHRD) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zunghr, ZUNGHR) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*, Complex*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (zunghr, ZUNGHR) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
   F77_FUNC (zgebak, ZGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cgebal, CGEBAL) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&,
-                             octave_idx_type&, float*, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&,
+                             F77_INT&, F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (cgehrd, CGEHRD) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             FloatComplex*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (cgehrd, CGEHRD) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cunghr, CUNGHR) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             FloatComplex*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (cunghr, CUNGHR) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_INT&);
 
   F77_RET_T
   F77_FUNC (cgebak, CGEBAK) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 }
--- a/liboctave/numeric/lo-specfun.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/lo-specfun.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -54,148 +54,148 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (zbesj, ZBESJ) (const double&, const double&, const double&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           double*, double*, octave_idx_type&,
-                           octave_idx_type&);
+  F77_FUNC (zbesj, ZBESJ) (const F77_DBLE&, const F77_DBLE&, const F77_DBLE&,
+                           const F77_INT&, const F77_INT&,
+                           F77_DBLE*, F77_DBLE*, F77_INT&,
+                           F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zbesy, ZBESY) (const double&, const double&, const double&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           double*, double*, octave_idx_type&, double*,
-                           double*, octave_idx_type&);
+  F77_FUNC (zbesy, ZBESY) (const F77_DBLE&, const F77_DBLE&, const F77_DBLE&,
+                           const F77_INT&, const F77_INT&,
+                           F77_DBLE*, F77_DBLE*, F77_INT&, F77_DBLE*,
+                           F77_DBLE*, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zbesi, ZBESI) (const double&, const double&, const double&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           double*, double*, octave_idx_type&,
-                           octave_idx_type&);
+  F77_FUNC (zbesi, ZBESI) (const F77_DBLE&, const F77_DBLE&, const F77_DBLE&,
+                           const F77_INT&, const F77_INT&,
+                           F77_DBLE*, F77_DBLE*, F77_INT&,
+                           F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zbesk, ZBESK) (const double&, const double&, const double&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           double*, double*, octave_idx_type&,
-                           octave_idx_type&);
+  F77_FUNC (zbesk, ZBESK) (const F77_DBLE&, const F77_DBLE&, const F77_DBLE&,
+                           const F77_INT&, const F77_INT&,
+                           F77_DBLE*, F77_DBLE*, F77_INT&,
+                           F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zbesh, ZBESH) (const double&, const double&, const double&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const octave_idx_type&, double*, double*,
-                           octave_idx_type&, octave_idx_type&);
+  F77_FUNC (zbesh, ZBESH) (const F77_DBLE&, const F77_DBLE&, const F77_DBLE&,
+                           const F77_INT&, const F77_INT&,
+                           const F77_INT&, F77_DBLE*, F77_DBLE*,
+                           F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cbesj, cBESJ) (const FloatComplex&, const float&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           FloatComplex*, octave_idx_type&, octave_idx_type&);
+  F77_FUNC (cbesj, cBESJ) (const F77_CMPLX&, const F77_REAL&,
+                           const F77_INT&, const F77_INT&,
+                           F77_CMPLX*, F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cbesy, CBESY) (const FloatComplex&, const float&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           FloatComplex*, octave_idx_type&,
-                           FloatComplex*, octave_idx_type&);
+  F77_FUNC (cbesy, CBESY) (const F77_CMPLX&, const F77_REAL&,
+                           const F77_INT&, const F77_INT&,
+                           F77_CMPLX*, F77_INT&,
+                           F77_CMPLX*, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cbesi, CBESI) (const FloatComplex&, const float&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           FloatComplex*, octave_idx_type&, octave_idx_type&);
+  F77_FUNC (cbesi, CBESI) (const F77_CMPLX&, const F77_REAL&,
+                           const F77_INT&, const F77_INT&,
+                           F77_CMPLX*, F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cbesk, CBESK) (const FloatComplex&, const float&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           FloatComplex*, octave_idx_type&, octave_idx_type&);
+  F77_FUNC (cbesk, CBESK) (const F77_CMPLX&, const F77_REAL&,
+                           const F77_INT&, const F77_INT&,
+                           F77_CMPLX*, F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cbesh, CBESH) (const FloatComplex&, const float&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           const octave_idx_type&, FloatComplex*,
-                           octave_idx_type&, octave_idx_type&);
+  F77_FUNC (cbesh, CBESH) (const F77_CMPLX&, const F77_REAL&,
+                           const F77_INT&, const F77_INT&,
+                           const F77_INT&, F77_CMPLX*,
+                           F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zairy, ZAIRY) (const double&, const double&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           double&, double&, octave_idx_type&,
-                           octave_idx_type&);
+  F77_FUNC (zairy, ZAIRY) (const F77_DBLE&, const F77_DBLE&,
+                           const F77_INT&, const F77_INT&,
+                           F77_DBLE&, F77_DBLE&, F77_INT&,
+                           F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cairy, CAIRY) (const float&, const float&, const octave_idx_type&,
-                           const octave_idx_type&, float&, float&,
-                           octave_idx_type&, octave_idx_type&);
+  F77_FUNC (cairy, CAIRY) (const F77_REAL&, const F77_REAL&, const F77_INT&,
+                           const F77_INT&, F77_REAL&, F77_REAL&,
+                           F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zbiry, ZBIRY) (const double&, const double&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           double&, double&, octave_idx_type&);
+  F77_FUNC (zbiry, ZBIRY) (const F77_DBLE&, const F77_DBLE&,
+                           const F77_INT&, const F77_INT&,
+                           F77_DBLE&, F77_DBLE&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cbiry, CBIRY) (const float&, const float&, const octave_idx_type&,
-                           const octave_idx_type&, float&, float&,
-                           octave_idx_type&);
+  F77_FUNC (cbiry, CBIRY) (const F77_REAL&, const F77_REAL&, const F77_INT&,
+                           const F77_INT&, F77_REAL&, F77_REAL&,
+                           F77_INT&);
 
   F77_RET_T
-  F77_FUNC (xdacosh, XDACOSH) (const double&, double&);
+  F77_FUNC (xdacosh, XDACOSH) (const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (xacosh, XACOSH) (const float&, float&);
+  F77_FUNC (xacosh, XACOSH) (const F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (xdasinh, XDASINH) (const double&, double&);
+  F77_FUNC (xdasinh, XDASINH) (const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (xasinh, XASINH) (const float&, float&);
+  F77_FUNC (xasinh, XASINH) (const F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (xdatanh, XDATANH) (const double&, double&);
+  F77_FUNC (xdatanh, XDATANH) (const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (xatanh, XATANH) (const float&, float&);
+  F77_FUNC (xatanh, XATANH) (const F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (xderf, XDERF) (const double&, double&);
+  F77_FUNC (xderf, XDERF) (const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (xerf, XERF) (const float&, float&);
+  F77_FUNC (xerf, XERF) (const F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (xderfc, XDERFC) (const double&, double&);
+  F77_FUNC (xderfc, XDERFC) (const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (xerfc, XERFC) (const float&, float&);
+  F77_FUNC (xerfc, XERFC) (const F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (xdbetai, XDBETAI) (const double&, const double&,
-                               const double&, double&);
+  F77_FUNC (xdbetai, XDBETAI) (const F77_DBLE&, const F77_DBLE&,
+                               const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (xbetai, XBETAI) (const float&, const float&,
-                             const float&, float&);
+  F77_FUNC (xbetai, XBETAI) (const F77_REAL&, const F77_REAL&,
+                             const F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (xdgamma, XDGAMMA) (const double&, double&);
+  F77_FUNC (xdgamma, XDGAMMA) (const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (xgamma, XGAMMA) (const float&, float&);
+  F77_FUNC (xgamma, XGAMMA) (const F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (xgammainc, XGAMMAINC) (const double&, const double&, double&);
+  F77_FUNC (xgammainc, XGAMMAINC) (const F77_DBLE&, const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (xsgammainc, XSGAMMAINC) (const float&, const float&, float&);
+  F77_FUNC (xsgammainc, XSGAMMAINC) (const F77_REAL&, const F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (dlgams, DLGAMS) (const double&, double&, double&);
+  F77_FUNC (dlgams, DLGAMS) (const F77_DBLE&, F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (algams, ALGAMS) (const float&, float&, float&);
+  F77_FUNC (algams, ALGAMS) (const F77_REAL&, F77_REAL&, F77_REAL&);
 
   F77_RET_T
-  F77_FUNC (psifn, PSIFN) (const float*, const octave_idx_type&,
-                           const octave_idx_type&, const octave_idx_type&,
-                           float*, octave_idx_type*, octave_idx_type*);
+  F77_FUNC (psifn, PSIFN) (const F77_REAL*, const F77_INT&,
+                           const F77_INT&, const F77_INT&,
+                           F77_REAL*, F77_INT*, F77_INT*);
 
   F77_RET_T
-  F77_FUNC (dpsifn, DPSIFN) (const double*, const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*, octave_idx_type*, octave_idx_type*);
+  F77_FUNC (dpsifn, DPSIFN) (const F77_DBLE*, const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*, F77_INT*, F77_INT*);
 }
 
 namespace octave
--- a/liboctave/numeric/lu.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/lu.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -41,83 +41,83 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dgetrf, DGETRF) (const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (dgetrf, DGETRF) (const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&,
+                             F77_INT*, F77_INT&);
 
 #if defined (HAVE_QRUPDATE_LUU)
   F77_RET_T
-  F77_FUNC (dlu1up, DLU1UP) (const octave_idx_type&, const octave_idx_type&,
-                             double *, const octave_idx_type&,
-                             double *, const octave_idx_type&,
-                             double *, double *);
+  F77_FUNC (dlu1up, DLU1UP) (const F77_INT&, const F77_INT&,
+                             F77_DBLE *, const F77_INT&,
+                             F77_DBLE *, const F77_INT&,
+                             F77_DBLE *, F77_DBLE *);
 
   F77_RET_T
-  F77_FUNC (dlup1up, DLUP1UP) (const octave_idx_type&, const octave_idx_type&,
-                               double *, const octave_idx_type&,
-                               double *, const octave_idx_type&,
-                               octave_idx_type *, const double *,
-                               const double *, double *);
+  F77_FUNC (dlup1up, DLUP1UP) (const F77_INT&, const F77_INT&,
+                               F77_DBLE *, const F77_INT&,
+                               F77_DBLE *, const F77_INT&,
+                               F77_INT *, const F77_DBLE *,
+                               const F77_DBLE *, F77_DBLE *);
 #endif
 
   F77_RET_T
-  F77_FUNC (sgetrf, SGETRF) (const octave_idx_type&, const octave_idx_type&,
-                             float*, const octave_idx_type&, octave_idx_type*,
-                             octave_idx_type&);
+  F77_FUNC (sgetrf, SGETRF) (const F77_INT&, const F77_INT&,
+                             F77_REAL*, const F77_INT&, F77_INT*,
+                             F77_INT&);
 
 #if defined (HAVE_QRUPDATE_LUU)
   F77_RET_T
-  F77_FUNC (slu1up, SLU1UP) (const octave_idx_type&, const octave_idx_type&,
-                             float *, const octave_idx_type&,
-                             float *, const octave_idx_type&,
-                             float *, float *);
+  F77_FUNC (slu1up, SLU1UP) (const F77_INT&, const F77_INT&,
+                             F77_REAL *, const F77_INT&,
+                             F77_REAL *, const F77_INT&,
+                             F77_REAL *, F77_REAL *);
 
   F77_RET_T
-  F77_FUNC (slup1up, SLUP1UP) (const octave_idx_type&, const octave_idx_type&,
-                               float *, const octave_idx_type&,
-                               float *, const octave_idx_type&,
-                               octave_idx_type *, const float *,
-                               const float *, float *);
+  F77_FUNC (slup1up, SLUP1UP) (const F77_INT&, const F77_INT&,
+                               F77_REAL *, const F77_INT&,
+                               F77_REAL *, const F77_INT&,
+                               F77_INT *, const F77_REAL *,
+                               const F77_REAL *, F77_REAL *);
 #endif
 
   F77_RET_T
-  F77_FUNC (zgetrf, ZGETRF) (const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (zgetrf, ZGETRF) (const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_INT*, F77_INT&);
 
 #if defined (HAVE_QRUPDATE_LUU)
   F77_RET_T
-  F77_FUNC (zlu1up, ZLU1UP) (const octave_idx_type&, const octave_idx_type&,
-                             Complex *, const octave_idx_type&,
-                             Complex *, const octave_idx_type&,
-                             Complex *, Complex *);
+  F77_FUNC (zlu1up, ZLU1UP) (const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX *, const F77_INT&,
+                             F77_DBLE_CMPLX *, const F77_INT&,
+                             F77_DBLE_CMPLX *, F77_DBLE_CMPLX *);
 
   F77_RET_T
-  F77_FUNC (zlup1up, ZLUP1UP) (const octave_idx_type&, const octave_idx_type&,
-                               Complex *, const octave_idx_type&,
-                               Complex *, const octave_idx_type&,
-                               octave_idx_type *, const Complex *,
-                               const Complex *, Complex *);
+  F77_FUNC (zlup1up, ZLUP1UP) (const F77_INT&, const F77_INT&,
+                               F77_DBLE_CMPLX *, const F77_INT&,
+                               F77_DBLE_CMPLX *, const F77_INT&,
+                               F77_INT *, const F77_DBLE_CMPLX *,
+                               const F77_DBLE_CMPLX *, F77_DBLE_CMPLX *);
 #endif
 
   F77_RET_T
-  F77_FUNC (cgetrf, CGETRF) (const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&);
+  F77_FUNC (cgetrf, CGETRF) (const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_INT*, F77_INT&);
 
 #if defined (HAVE_QRUPDATE_LUU)
   F77_RET_T
-  F77_FUNC (clu1up, CLU1UP) (const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex *, const octave_idx_type&,
-                             FloatComplex *, const octave_idx_type&,
-                             FloatComplex *, FloatComplex *);
+  F77_FUNC (clu1up, CLU1UP) (const F77_INT&, const F77_INT&,
+                             F77_CMPLX *, const F77_INT&,
+                             F77_CMPLX *, const F77_INT&,
+                             F77_CMPLX *, F77_CMPLX *);
 
   F77_RET_T
-  F77_FUNC (clup1up, CLUP1UP) (const octave_idx_type&, const octave_idx_type&,
-                               FloatComplex *, const octave_idx_type&,
-                               FloatComplex *, const octave_idx_type&,
-                               octave_idx_type *, const FloatComplex *,
-                               const FloatComplex *, FloatComplex *);
+  F77_FUNC (clup1up, CLUP1UP) (const F77_INT&, const F77_INT&,
+                               F77_CMPLX *, const F77_INT&,
+                               F77_CMPLX *, const F77_INT&,
+                               F77_INT *, const F77_CMPLX *,
+                               const F77_CMPLX *, F77_CMPLX *);
 #endif
 }
 
--- a/liboctave/numeric/oct-convn.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/oct-convn.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -40,24 +40,24 @@
              T *c, bool inner);
 
 // Forward instances to our Fortran implementations.
-#define FORWARD_IMPL(T,R,f,F) \
+#define FORWARD_IMPL(T, R, f, F) \
 extern "C" \
 F77_RET_T \
-F77_FUNC (f##conv2o, F##CONV2O) (const octave_idx_type&, \
-                                 const octave_idx_type&, \
-                                 const T*, const octave_idx_type&, \
-                                 const octave_idx_type&, const R*, T *); \
+F77_FUNC (f##conv2o, F##CONV2O) (const F77_INT&, \
+                                 const F77_INT&, \
+                                 const T*, const F77_INT&, \
+                                 const F77_INT&, const R*, T *); \
 \
 extern "C" \
 F77_RET_T \
-F77_FUNC (f##conv2i, F##CONV2I) (const octave_idx_type&, \
-                                 const octave_idx_type&, \
-                                 const T*, const octave_idx_type&, \
-                                 const octave_idx_type&, const R*, T *); \
+F77_FUNC (f##conv2i, F##CONV2I) (const F77_INT&, \
+                                 const F77_INT&, \
+                                 const T*, const F77_INT&, \
+                                 const F77_INT&, const R*, T *); \
 \
 template <> void \
-convolve_2d<T, R> (const T *a, octave_idx_type ma, octave_idx_type na, \
-                   const R *b, octave_idx_type mb, octave_idx_type nb, \
+convolve_2d<T, R> (const T *a, F77_INT ma, F77_INT na, \
+                   const R *b, F77_INT mb, F77_INT nb, \
                    T *c, bool inner) \
 { \
   if (inner) \
@@ -66,12 +66,12 @@
     F77_XFCN (f##conv2o, F##CONV2O, (ma, na, a, mb, nb, b, c)); \
 }
 
-FORWARD_IMPL (double, double, d, D)
-FORWARD_IMPL (float, float, s, S)
-FORWARD_IMPL (Complex, Complex, z, Z)
-FORWARD_IMPL (FloatComplex, FloatComplex, c, C)
-FORWARD_IMPL (Complex, double, zd, ZD)
-FORWARD_IMPL (FloatComplex, float, cs, CS)
+FORWARD_IMPL (F77_DBLE, F77_DBLE, d, D)
+FORWARD_IMPL (F77_REAL, F77_REAL, s, S)
+FORWARD_IMPL (F77_DBLE_CMPLX, F77_DBLE_CMPLX, z, Z)
+FORWARD_IMPL (F77_CMPLX, F77_CMPLX, c, C)
+FORWARD_IMPL (F77_DBLE_CMPLX, F77_DBLE, zd, ZD)
+FORWARD_IMPL (F77_CMPLX, F77_REAL, cs, CS)
 
 template <typename T, typename R>
 void convolve_nd (const T *a, const dim_vector& ad, const dim_vector& acd,
--- a/liboctave/numeric/oct-rand.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/oct-rand.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -46,31 +46,31 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dgennor, DGENNOR) (const double&, const double&, double&);
+  F77_FUNC (dgennor, DGENNOR) (const F77_DBLE&, const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (dgenunf, DGENUNF) (const double&, const double&, double&);
+  F77_FUNC (dgenunf, DGENUNF) (const F77_DBLE&, const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (dgenexp, DGENEXP) (const double&, double&);
+  F77_FUNC (dgenexp, DGENEXP) (const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (dignpoi, DIGNPOI) (const double&, double&);
+  F77_FUNC (dignpoi, DIGNPOI) (const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (dgengam, DGENGAM) (const double&, const double&, double&);
+  F77_FUNC (dgengam, DGENGAM) (const F77_DBLE&, const F77_DBLE&, F77_DBLE&);
 
   F77_RET_T
-  F77_FUNC (setall, SETALL) (const int32_t&, const int32_t&);
+  F77_FUNC (setall, SETALL) (const F77_INT4&, const F77_INT4&);
 
   F77_RET_T
-  F77_FUNC (getsd, GETSD) (int32_t&, int32_t&);
+  F77_FUNC (getsd, GETSD) (F77_INT4&, F77_INT4&);
 
   F77_RET_T
-  F77_FUNC (setsd, SETSD) (const int32_t&, const int32_t&);
+  F77_FUNC (setsd, SETSD) (const F77_INT4&, const F77_INT4&);
 
   F77_RET_T
-  F77_FUNC (setcgn, SETCGN) (const int32_t&);
+  F77_FUNC (setcgn, SETCGN) (const F77_INT4&);
 }
 
 octave_rand *octave_rand::instance = 0;
--- a/liboctave/numeric/qr.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/qr.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -47,227 +47,227 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dgeqrf, DGEQRF) (const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&, double*,
-                             double*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (dgeqrf, DGEQRF) (const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             F77_DBLE*, const F77_INT&,
+                             F77_INT&);
 
   F77_RET_T
-  F77_FUNC (dorgqr, DORGQR) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*, double*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (dorgqr, DORGQR) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, F77_INT&);
 
 #if defined (HAVE_QRUPDATE)
 
   F77_RET_T
-  F77_FUNC (dqr1up, DQR1UP) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*, double*, double*);
+  F77_FUNC (dqr1up, DQR1UP) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*, F77_DBLE*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (dqrinc, DQRINC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const double*, double*);
+  F77_FUNC (dqrinc, DQRINC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (dqrdec, DQRDEC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*);
+  F77_FUNC (dqrdec, DQRDEC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (dqrinr, DQRINR) (const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const double*, double*);
+  F77_FUNC (dqrinr, DQRINR) (const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (dqrder, DQRDER) (const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*);
+  F77_FUNC (dqrder, DQRDER) (const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (dqrshc, DQRSHC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, double*);
+  F77_FUNC (dqrshc, DQRSHC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE*);
 
 #endif
 
   F77_RET_T
-  F77_FUNC (sgeqrf, SGEQRF) (const octave_idx_type&, const octave_idx_type&,
-                             float*, const octave_idx_type&, float*, float*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (sgeqrf, SGEQRF) (const F77_INT&, const F77_INT&,
+                             F77_REAL*, const F77_INT&, F77_REAL*, F77_REAL*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (sorgqr, SORGQR) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*, float*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (sorgqr, SORGQR) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*, F77_REAL*,
+                             const F77_INT&, F77_INT&);
 
 #if defined (HAVE_QRUPDATE)
 
   F77_RET_T
-  F77_FUNC (sqr1up, SQR1UP) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*, float*, float*);
+  F77_FUNC (sqr1up, SQR1UP) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*, F77_REAL*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (sqrinc, SQRINC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&,
-                             const octave_idx_type&, const float*, float*);
+  F77_FUNC (sqrinc, SQRINC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&,
+                             const F77_INT&, const F77_REAL*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (sqrdec, SQRDEC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&,
-                             const octave_idx_type&, float*);
+  F77_FUNC (sqrdec, SQRDEC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&,
+                             const F77_INT&, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (sqrinr, SQRINR) (const octave_idx_type&, const octave_idx_type&,
-                             float*, const octave_idx_type&,
-                             float*, const octave_idx_type&,
-                             const octave_idx_type&, const float*, float*);
+  F77_FUNC (sqrinr, SQRINR) (const F77_INT&, const F77_INT&,
+                             F77_REAL*, const F77_INT&,
+                             F77_REAL*, const F77_INT&,
+                             const F77_INT&, const F77_REAL*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (sqrder, SQRDER) (const octave_idx_type&, const octave_idx_type&,
-                             float*, const octave_idx_type&,
-                             float*, const octave_idx_type&,
-                             const octave_idx_type&, float*);
+  F77_FUNC (sqrder, SQRDER) (const F77_INT&, const F77_INT&,
+                             F77_REAL*, const F77_INT&,
+                             F77_REAL*, const F77_INT&,
+                             const F77_INT&, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (sqrshc, SQRSHC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&,
-                             const octave_idx_type&, const octave_idx_type&,
-                             float*);
+  F77_FUNC (sqrshc, SQRSHC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&,
+                             const F77_INT&, const F77_INT&,
+                             F77_REAL*);
 
 #endif
 
   F77_RET_T
-  F77_FUNC (zgeqrf, ZGEQRF) (const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&, Complex*,
-                             Complex*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (zgeqrf, ZGEQRF) (const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_INT&);
 
   F77_RET_T
-  F77_FUNC (zungqr, ZUNGQR) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*, Complex*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (zungqr, ZUNGQR) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&);
 
 #if defined (HAVE_QRUPDATE)
 
   F77_RET_T
-  F77_FUNC (zqr1up, ZQR1UP) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*,
-                             Complex*, Complex*, double*);
+  F77_FUNC (zqr1up, ZQR1UP) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (zqrinc, ZQRINC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const Complex*, double*);
+  F77_FUNC (zqrinc, ZQRINC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE_CMPLX*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (zqrdec, ZQRDEC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*);
+  F77_FUNC (zqrdec, ZQRDEC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (zqrinr, ZQRINR) (const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const Complex*, double*);
+  F77_FUNC (zqrinr, ZQRINR) (const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_DBLE_CMPLX*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (zqrder, ZQRDER) (const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             Complex*, double*);
+  F77_FUNC (zqrder, ZQRDER) (const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, F77_DBLE*);
 
   F77_RET_T
-  F77_FUNC (zqrshc, ZQRSHC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, Complex*, double*);
+  F77_FUNC (zqrshc, ZQRSHC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_DBLE_CMPLX*, F77_DBLE*);
 
 #endif
 
   F77_RET_T
-  F77_FUNC (cgeqrf, CGEQRF) (const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (cgeqrf, CGEQRF) (const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, F77_CMPLX*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (cungqr, CUNGQR) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             FloatComplex*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (cungqr, CUNGQR) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_INT&);
 
 #if defined (HAVE_QRUPDATE)
 
   F77_RET_T
-  F77_FUNC (cqr1up, CQR1UP) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             FloatComplex*, FloatComplex*, float*);
+  F77_FUNC (cqr1up, CQR1UP) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             F77_CMPLX*, F77_CMPLX*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (cqrinc, CQRINC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&,const octave_idx_type&,
-                             const FloatComplex*, float*);
+  F77_FUNC (cqrinc, CQRINC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&,const F77_INT&,
+                             const F77_CMPLX*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (cqrdec, CQRDEC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             float*);
+  F77_FUNC (cqrdec, CQRDEC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (cqrinr, CQRINR) (const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             const octave_idx_type&, const FloatComplex*,
-                             float*);
+  F77_FUNC (cqrinr, CQRINR) (const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             const F77_INT&, const F77_CMPLX*,
+                             F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (cqrder, CQRDER) (const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*, float*);
+  F77_FUNC (cqrder, CQRDER) (const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*, F77_REAL*);
 
   F77_RET_T
-  F77_FUNC (cqrshc, CQRSHC) (const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, const octave_idx_type&,
-                             const octave_idx_type&, FloatComplex*,
-                             float*);
+  F77_FUNC (cqrshc, CQRSHC) (const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, const F77_INT&,
+                             const F77_INT&, F77_CMPLX*,
+                             F77_REAL*);
 
 #endif
 }
--- a/liboctave/numeric/qrp.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/qrp.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -41,27 +41,27 @@
 extern "C"
 {
   F77_RET_T
-  F77_FUNC (dgeqp3, DGEQP3) (const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&,
-                             octave_idx_type*, double*, double*,
-                             const octave_idx_type&, octave_idx_type&);
+  F77_FUNC (dgeqp3, DGEQP3) (const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&,
+                             F77_INT*, F77_DBLE*, F77_DBLE*,
+                             const F77_INT&, F77_INT&);
 
   F77_RET_T
-  F77_FUNC (sgeqp3, SGEQP3) (const octave_idx_type&, const octave_idx_type&,
-                             float*, const octave_idx_type&, octave_idx_type*,
-                             float*, float*, const octave_idx_type&,
-                             octave_idx_type&);
+  F77_FUNC (sgeqp3, SGEQP3) (const F77_INT&, const F77_INT&,
+                             F77_REAL*, const F77_INT&, F77_INT*,
+                             F77_REAL*, F77_REAL*, const F77_INT&,
+                             F77_INT&);
   F77_RET_T
-  F77_FUNC (zgeqp3, ZGEQP3) (const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&,
-                             octave_idx_type*, Complex*, Complex*,
-                             const octave_idx_type&, double*,
-                             octave_idx_type&);
+  F77_FUNC (zgeqp3, ZGEQP3) (const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_INT*, F77_DBLE_CMPLX*, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE*,
+                             F77_INT&);
   F77_RET_T
-  F77_FUNC (cgeqp3, CGEQP3) (const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             octave_idx_type*, FloatComplex*, FloatComplex*,
-                             const octave_idx_type&, float*, octave_idx_type&);
+  F77_FUNC (cgeqp3, CGEQP3) (const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_INT*, F77_CMPLX*, F77_CMPLX*,
+                             const F77_INT&, F77_REAL*, F77_INT&);
 }
 
 // Specialization.
--- a/liboctave/numeric/randpoisson.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/randpoisson.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -48,8 +48,11 @@
 #define RNOR oct_randn()
 #define LGAMMA xlgamma
 
-F77_RET_T
-F77_FUNC (dlgams, DLGAMS) (const double *, double *, double *);
+extern "C"
+{
+  F77_RET_T
+  F77_FUNC (dlgams, DLGAMS) (const F77_DBLE *, F77_DBLE *, F77_DBLE *);
+}
 
 static double
 xlgamma (double x)
--- a/liboctave/numeric/schur.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/schur.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -44,12 +44,12 @@
                              F77_CONST_CHAR_ARG_DECL,
                              double_selector,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&,
-                             double*, double*, double*, const octave_idx_type&,
-                             double&, double&, double*, const octave_idx_type&,
-                             octave_idx_type*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&,
+                             F77_DBLE*, F77_DBLE*, F77_DBLE*, const F77_INT&,
+                             F77_DBLE&, F77_DBLE&, F77_DBLE*, const F77_INT&,
+                             F77_INT*, const F77_INT&,
+                             F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
@@ -59,12 +59,12 @@
                              F77_CONST_CHAR_ARG_DECL,
                              float_selector,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&,
-                             float*, float*, float*, const octave_idx_type&,
-                             float&, float&, float*, const octave_idx_type&,
-                             octave_idx_type*, const octave_idx_type&,
-                             octave_idx_type*, octave_idx_type&
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&,
+                             F77_REAL*, F77_REAL*, F77_REAL*, const F77_INT&,
+                             F77_REAL&, F77_REAL&, F77_REAL*, const F77_INT&,
+                             F77_INT*, const F77_INT&,
+                             F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
@@ -74,37 +74,37 @@
                              F77_CONST_CHAR_ARG_DECL,
                              complex_selector,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, Complex*,
-                             const octave_idx_type&, octave_idx_type&,
-                             Complex*, Complex*, const octave_idx_type&,
-                             double&, double&, Complex*,
-                             const octave_idx_type&, double*,
-                             octave_idx_type*, octave_idx_type&
+                             const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_INT&,
+                             F77_DBLE_CMPLX*, F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_DBLE&, F77_DBLE&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE*,
+                             F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (zrsf2csf, ZRSF2CSF) (const octave_idx_type&, Complex *,
-                                 Complex *, double *, double *);
+  F77_FUNC (zrsf2csf, ZRSF2CSF) (const F77_INT&, F77_DBLE_CMPLX *,
+                                 F77_DBLE_CMPLX *, F77_DBLE *, F77_DBLE *);
   F77_RET_T
   F77_FUNC (cgeesx, CGEESX) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
                              float_complex_selector,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, FloatComplex*,
-                             const octave_idx_type&, octave_idx_type&,
-                             FloatComplex*, FloatComplex*,
-                             const octave_idx_type&, float&, float&,
-                             FloatComplex*, const octave_idx_type&,
-                             float*, octave_idx_type*, octave_idx_type&
+                             const F77_INT&, F77_CMPLX*,
+                             const F77_INT&, F77_INT&,
+                             F77_CMPLX*, F77_CMPLX*,
+                             const F77_INT&, F77_REAL&, F77_REAL&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_REAL*, F77_INT*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
-  F77_FUNC (crsf2csf, CRSF2CSF) (const octave_idx_type&, FloatComplex *,
-                                 FloatComplex *, float *, float *);
+  F77_FUNC (crsf2csf, CRSF2CSF) (const F77_INT&, F77_CMPLX *,
+                                 F77_CMPLX *, F77_REAL *, F77_REAL *);
 }
 
 // For real types.
--- a/liboctave/numeric/svd.cc	Sun Jul 17 13:17:58 2016 -0400
+++ b/liboctave/numeric/svd.cc	Sun Jul 17 12:42:37 2016 -0400
@@ -42,85 +42,85 @@
   F77_RET_T
   F77_FUNC (dgesvd, DGESVD) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&, double*,
-                             double*, const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (dgesdd, DGESDD) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             double*, const octave_idx_type&, double*,
-                             double*, const octave_idx_type&, double*,
-                             const octave_idx_type&, double*,
-                             const octave_idx_type&, octave_idx_type *,
-                             octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             F77_DBLE*, const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_DBLE*,
+                             const F77_INT&, F77_INT *,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgesvd, SGESVD) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             float*, const octave_idx_type&, float*,
-                             float*, const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_REAL*, const F77_INT&, F77_REAL*,
+                             F77_REAL*, const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (sgesdd, SGESDD) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             float*, const octave_idx_type&, float*,
-                             float*, const octave_idx_type&, float*,
-                             const octave_idx_type&, float*,
-                             const octave_idx_type&, octave_idx_type *,
-                             octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_REAL*, const F77_INT&, F77_REAL*,
+                             F77_REAL*, const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_REAL*,
+                             const F77_INT&, F77_INT *,
+                             F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgesvd, ZGESVD) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&,
-                             double*, Complex*, const octave_idx_type&,
-                             Complex*, const octave_idx_type&, Complex*,
-                             const octave_idx_type&, double*, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_DBLE*, F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (zgesdd, ZGESDD) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             Complex*, const octave_idx_type&,
-                             double*, Complex*, const octave_idx_type&,
-                             Complex*, const octave_idx_type&, Complex*,
-                             const octave_idx_type&, double*,
-                             octave_idx_type *, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_DBLE*, F77_DBLE_CMPLX*, const F77_INT&,
+                             F77_DBLE_CMPLX*, const F77_INT&, F77_DBLE_CMPLX*,
+                             const F77_INT&, F77_DBLE*,
+                             F77_INT *, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
   F77_RET_T
   F77_FUNC (cgesvd, CGESVD) (F77_CONST_CHAR_ARG_DECL,
                              F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&, float*,
-                             FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             float*, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&, F77_REAL*,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_REAL*, F77_INT&
                              F77_CHAR_ARG_LEN_DECL
                              F77_CHAR_ARG_LEN_DECL);
 
   F77_RET_T
   F77_FUNC (cgesdd, CGESDD) (F77_CONST_CHAR_ARG_DECL,
-                             const octave_idx_type&, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&, float*,
-                             FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             FloatComplex*, const octave_idx_type&,
-                             float*, octave_idx_type *, octave_idx_type&
+                             const F77_INT&, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&, F77_REAL*,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_CMPLX*, const F77_INT&,
+                             F77_REAL*, F77_INT *, F77_INT&
                              F77_CHAR_ARG_LEN_DECL);
 }