Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50268 - in sandbox/boost/numeric/bindings: blas lapack traits/detail
From: thomas.klimpel_at_[hidden]
Date: 2008-12-14 10:43:19


Author: klimpel
Date: 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
New Revision: 50268
URL: http://svn.boost.org/trac/boost/changeset/50268

Log:
decided on a policy for using inline with template functions: use inline only for obvious cases like simple forwarders.
atlas and umfpack not touched.
Text files modified:
   sandbox/boost/numeric/bindings/blas/blas2.hpp | 5 -----
   sandbox/boost/numeric/bindings/lapack/gbsv.hpp | 2 --
   sandbox/boost/numeric/bindings/lapack/gees.hpp | 8 --------
   sandbox/boost/numeric/bindings/lapack/gels.hpp | 4 ----
   sandbox/boost/numeric/bindings/lapack/gelsd.hpp | 20 ++++++++++----------
   sandbox/boost/numeric/bindings/lapack/gelss.hpp | 20 ++++++++++----------
   sandbox/boost/numeric/bindings/lapack/geqrf.hpp | 4 ----
   sandbox/boost/numeric/bindings/lapack/gesdd.hpp | 7 -------
   sandbox/boost/numeric/bindings/lapack/gesv.hpp | 7 -------
   sandbox/boost/numeric/bindings/lapack/gesvd.hpp | 6 ------
   sandbox/boost/numeric/bindings/lapack/heev.hpp | 1 -
   sandbox/boost/numeric/bindings/lapack/heevd.hpp | 2 +-
   sandbox/boost/numeric/bindings/lapack/heevx.hpp | 2 +-
   sandbox/boost/numeric/bindings/lapack/hesv.hpp | 15 ---------------
   sandbox/boost/numeric/bindings/lapack/hpsv.hpp | 4 ----
   sandbox/boost/numeric/bindings/lapack/orgqr.hpp | 5 +----
   sandbox/boost/numeric/bindings/lapack/ormqr.hpp | 4 ----
   sandbox/boost/numeric/bindings/lapack/posv.hpp | 3 ---
   sandbox/boost/numeric/bindings/lapack/ppsv.hpp | 4 ----
   sandbox/boost/numeric/bindings/lapack/ptsv.hpp | 4 +---
   sandbox/boost/numeric/bindings/lapack/spsv.hpp | 5 -----
   sandbox/boost/numeric/bindings/lapack/steqr.hpp | 3 ---
   sandbox/boost/numeric/bindings/lapack/syev.hpp | 7 -------
   sandbox/boost/numeric/bindings/lapack/syevd.hpp | 3 ++-
   sandbox/boost/numeric/bindings/lapack/sysv.hpp | 14 --------------
   sandbox/boost/numeric/bindings/lapack/sytrd.hpp | 3 ---
   sandbox/boost/numeric/bindings/lapack/trevc.hpp | 1 -
   sandbox/boost/numeric/bindings/lapack/trexc.hpp | 1 -
   sandbox/boost/numeric/bindings/traits/detail/utils.hpp | 6 ++----
   29 files changed, 28 insertions(+), 142 deletions(-)

Modified: sandbox/boost/numeric/bindings/blas/blas2.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/blas/blas2.hpp (original)
+++ sandbox/boost/numeric/bindings/blas/blas2.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -22,7 +22,6 @@
   // op (A) == A || A^T || A^H
   // ! CAUTION this function assumes that all matrices involved are column-major matrices
   template < typename matrix_type, typename vector_type_x, typename vector_type_y, typename value_type >
- inline
   void gemv(const char TRANS,
             const value_type& alpha,
             const matrix_type &a,
@@ -56,7 +55,6 @@
   // A <- alpha * x * trans(y) ( outer product ), alpha, x and y are real-valued
   // ! CAUTION this function assumes that all matrices involved are column-major matrices
   template < typename vector_type_x, typename vector_type_y, typename value_type, typename matrix_type >
- inline
   void ger( const value_type& alpha,
             const vector_type_x &x,
             const vector_type_y &y,
@@ -87,7 +85,6 @@
 /*
   // A <- alpha * x * trans(y) ( outer product ), alpha, x and y are complex-valued
   template < typename vector_type_x, typename vector_type_y, typename value_type, typename matrix_type >
- inline
   void geru( const value_type& alpha,
              const vector_type_x &x,
              const vector_type_y &y,
@@ -120,7 +117,6 @@
   /*
   // y <- alpha * A * x + beta * y
   template < typename matrix_type, typename vector_type_x, typename vector_type_y >
- inline
   void gemv(const typename traits::matrix_traits<matrix_type>::value_type &alpha,
             const matrix_type &a,
             const vector_type_x &x,
@@ -134,7 +130,6 @@
 
   // y <- A * x
   template < typename matrix_type, typename vector_type_x, typename vector_type_y >
- inline
   void gemv(const matrix_type &a, const vector_type_x &x, vector_type_y &y)
   {
     typedef typename traits::matrix_traits<matrix_type>::value_type val_t;

Modified: sandbox/boost/numeric/bindings/lapack/gbsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gbsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gbsv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -53,7 +53,6 @@
     }
 
     template <typename MatrA, typename IVec>
- inline
     int gbtrf (MatrA& a, IVec& ipiv) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -122,7 +121,6 @@
 
 
     template <typename MatrA, typename MatrB, typename IVec>
- inline
     int gbtrs (char const trans, MatrA const& a, IVec const& ipiv, MatrB& b)
     {
       assert (trans == 'N' || trans == 'T' || trans == 'C');

Modified: sandbox/boost/numeric/bindings/lapack/gees.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gees.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gees.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -126,7 +126,6 @@
     namespace detail {
        /// Compute Schur factorization, passing one work array.
        template <typename MatrA, typename SchVec, typename EigVal, typename Work>
- inline
        int gees (char jobvs, MatrA& a, EigVal& w, SchVec& vs, Work& work) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -170,7 +169,6 @@
        /// Compute Schur factorization, passing two work arrays.
        template <typename MatrA, typename SchVec, typename EigVal,
                  typename Work, typename RWork>
- inline
        int gees (char jobvs, MatrA& a, EigVal& w, SchVec& vs,
                  Work& work, RWork& rwork) {
 
@@ -223,7 +221,6 @@
        template <>
        struct Gees< 2 > {
           template <typename MatrA, typename SchVec, typename EigVal>
- inline
           int operator() (char jobvs, MatrA& a, EigVal& w, SchVec& vs, optimal_workspace ) const {
              typedef typename MatrA::value_type value_type ;
              typedef typename traits::type_traits< value_type >::real_type real_type ;
@@ -237,7 +234,6 @@
           } // gees()
 
           template <typename MatrA, typename SchVec, typename EigVal>
- inline
           int operator() (char jobvs, MatrA& a, EigVal& w, SchVec& vs, minimal_workspace ) const {
              typedef typename MatrA::value_type value_type ;
              typedef typename traits::type_traits< value_type >::real_type real_type ;
@@ -252,7 +248,6 @@
 
           /// Compute Schur factorization, passing workspace2 as workspace
           template <typename MatrA, typename SchVec, typename EigVal, typename RWork, typename Work>
- inline
           int operator() (char jobvs, MatrA& a, EigVal& w, SchVec& vs, workspace2<Work,RWork>& workspace ) const {
              return gees( jobvs, a, w, vs, workspace.w_, workspace.wr_ );
           } // gees()
@@ -262,7 +257,6 @@
        template <>
        struct Gees< 1 > {
           template <typename MatrA, typename SchVec, typename EigVal>
- inline
           int operator() (char jobvs, MatrA& a, EigVal& w, SchVec& vs, optimal_workspace ) const {
              typedef typename MatrA::value_type value_type ;
              typedef typename traits::type_traits< value_type >::real_type real_type ;
@@ -275,7 +269,6 @@
           } // gees()
 
           template <typename MatrA, typename SchVec, typename EigVal>
- inline
           int operator() (char jobvs, MatrA& a, EigVal& w, SchVec& vs, minimal_workspace ) const {
              typedef typename MatrA::value_type value_type ;
              typedef typename traits::type_traits< value_type >::real_type real_type ;
@@ -289,7 +282,6 @@
 
           /// Compute Schur factorization, passing workspace1 as workspace
           template <typename MatrA, typename SchVec, typename EigVal, typename Work>
- inline
           int operator() (char jobvs, MatrA& a, EigVal& w, SchVec& vs, detail::workspace1<Work> workspace ) const {
              return gees( jobvs, a, w, vs, workspace.w_ );
           } // gees()

Modified: sandbox/boost/numeric/bindings/lapack/gels.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gels.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gels.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -141,7 +141,6 @@
 
                         // query for recommended workspace
                         template <typename MatrA, typename VecB>
- inline
                         int gels_optimal_work(const char trans, MatrA& A, VecB& b)
                         {
                                 typename MatrA::value_type work;
@@ -168,7 +167,6 @@
 
 
                 template <typename MatrA, typename VecB>
- inline
                 int gels(const char trans, MatrA& A, VecB& b, optimal_workspace)
                 {
                         // query optimal workspace size
@@ -179,7 +177,6 @@
                 }
 
                 template <typename MatrA, typename VecB>
- inline
                 int gels(const char trans, MatrA& A, VecB& b, minimal_workspace)
                 {
                         const int m = traits::matrix_size1(A);
@@ -196,7 +193,6 @@
                 }
 
                 template <typename MatrA, typename VecB, typename Work>
- inline
                 int gels(const char trans, MatrA& A, VecB& b, detail::workspace1<Work> workspace)
                 {
                         return detail::gels(trans, A, b, workspace.w_);

Modified: sandbox/boost/numeric/bindings/lapack/gelsd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gelsd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gelsd.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -76,7 +76,7 @@
 
                         // gelsd for real type
                         template <typename MatrA, typename MatrB, typename VecS, typename Work>
- inline int gelsd(MatrA& A, MatrB& B, VecS& s, Work& work)
+ int gelsd(MatrA& A, MatrB& B, VecS& s, Work& work)
                         {
                                 typedef typename MatrA::value_type val_t;
                                 typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -126,7 +126,7 @@
                         // gelsd for complex type
                         template <typename MatrA, typename MatrB, typename VecS,
                                                 typename Work, typename RWork>
- inline int gelsd(MatrA& A, MatrB& B, VecS& s, Work& work, RWork& rwork)
+ int gelsd(MatrA& A, MatrB& B, VecS& s, Work& work, RWork& rwork)
                         {
                                 typedef typename MatrA::value_type val_t;
                                 typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -182,7 +182,7 @@
                         struct Gelsd<1>
                         {
                                 template <typename MatrA, typename MatrB, typename VecS>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, minimal_workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, minimal_workspace) const
                                 {
                                         typedef typename MatrA::value_type val_t;
 
@@ -207,7 +207,7 @@
                                 }
 
                                 template <typename MatrA, typename MatrB, typename VecS>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, optimal_workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, optimal_workspace) const
                                 {
                                         typedef typename MatrA::value_type val_t;
                                         typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -253,7 +253,7 @@
                                 }
 
                                 template <typename MatrA, typename MatrB, typename VecS, typename Work>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace1<Work> workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace1<Work> workspace) const
                                 {
                                         const int m = traits::matrix_size1(A);
                                         const int n = traits::matrix_size2(A);
@@ -272,7 +272,7 @@
                         struct Gelsd<2>
                         {
                                 template <typename MatrA, typename MatrB, typename VecS>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, minimal_workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, minimal_workspace) const
                                 {
                                         typedef typename MatrA::value_type val_t;
                                         typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -300,7 +300,7 @@
                                 }
 
                                 template <typename MatrA, typename MatrB, typename VecS>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, optimal_workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, optimal_workspace) const
                                 {
                                         typedef typename MatrA::value_type val_t;
                                         typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -357,7 +357,7 @@
                                 }
 
                                 template <typename MatrA, typename MatrB, typename VecS, typename Work, typename RWork>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace2<Work, RWork> workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace2<Work, RWork> workspace) const
                                 {
                                         const int m = traits::matrix_size1(A);
                                         const int n = traits::matrix_size2(A);
@@ -381,7 +381,7 @@
                 // workspace: either optimal, minimal, or user supplied
                 //
                 template <typename MatrA, typename MatrB, typename VecS, typename Work>
- inline int gelsd(MatrA& A, MatrB& B, VecS& s, Work workspace)
+ int gelsd(MatrA& A, MatrB& B, VecS& s, Work workspace)
                 {
                         typedef typename MatrA::value_type val_t;
 
@@ -395,7 +395,7 @@
                 // workspace: either optimal, minimal, or user supplied
                 //
                 template <typename MatrA, typename MatrB, typename Work>
- inline int gelsd(MatrA& A, MatrB& B, Work workspace)
+ int gelsd(MatrA& A, MatrB& B, Work workspace)
                 {
                         typedef typename MatrA::value_type val_t;
                         typedef typename traits::type_traits<val_t>::real_type real_t;

Modified: sandbox/boost/numeric/bindings/lapack/gelss.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gelss.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gelss.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -71,7 +71,7 @@
                         
                         // gelss for real type
                         template <typename MatrA, typename MatrB, typename VecS, typename Work>
- inline int gelss(MatrA& A, MatrB& B, VecS& s, Work& work)
+ int gelss(MatrA& A, MatrB& B, VecS& s, Work& work)
                         {
                                 typedef typename MatrA::value_type val_t;
                                 typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -113,7 +113,7 @@
 
                         // gelss for complex type
                         template <typename MatrA, typename MatrB, typename VecS, typename Work, typename RWork>
- inline int gelss(MatrA& A, MatrB& B, VecS& s, Work& work, RWork& rwork)
+ int gelss(MatrA& A, MatrB& B, VecS& s, Work& work, RWork& rwork)
                         {
                                 typedef typename MatrA::value_type val_t;
                                 typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -163,7 +163,7 @@
                         struct Gelss<1>
                         {
                                 template <typename MatrA, typename MatrB, typename VecS>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, minimal_workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, minimal_workspace) const
                                 {
                                         typedef typename MatrA::value_type val_t;
 
@@ -181,7 +181,7 @@
                                 }
 
                                 template <typename MatrA, typename MatrB, typename VecS>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, optimal_workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, optimal_workspace) const
                                 {
                                         typedef typename MatrA::value_type val_t;
                                         typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -225,7 +225,7 @@
                                 }
 
                                 template <typename MatrA, typename MatrB, typename VecS, typename Work>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace1<Work> workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace1<Work> workspace) const
                                 {
                                         return gelss(A, B, s, workspace.w_);
                                 }
@@ -236,7 +236,7 @@
                         struct Gelss<2>
                         {
                                 template <typename MatrA, typename MatrB, typename VecS>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, minimal_workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, minimal_workspace) const
                                 {
                                         typedef typename MatrA::value_type val_t;
                                         typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -256,7 +256,7 @@
                                 }
 
                                 template <typename MatrA, typename MatrB, typename VecS>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, optimal_workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, optimal_workspace) const
                                 {
                                         typedef typename MatrA::value_type val_t;
                                         typedef typename traits::type_traits<val_t>::real_type real_t;
@@ -303,7 +303,7 @@
                                 }
 
                                 template <typename MatrA, typename MatrB, typename VecS, typename Work, typename RWork>
- inline int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace2<Work, RWork> workspace) const
+ int operator() (MatrA& A, MatrB& B, VecS& s, detail::workspace2<Work, RWork> workspace) const
                                 {
                                         return gelss(A, B, s, workspace.w_, workspace.wr);
                                 }
@@ -319,7 +319,7 @@
                 // workspace: either optimal, minimal, or user supplied
                 //
                 template <typename MatrA, typename MatrB, typename VecS, typename Work>
- inline int gelss(MatrA& A, MatrB& B, VecS& s, Work workspace)
+ int gelss(MatrA& A, MatrB& B, VecS& s, Work workspace)
                 {
                         typedef typename MatrA::value_type val_t;
 
@@ -333,7 +333,7 @@
                 // workspace: either optimal, minimal, or user supplied
                 //
                 template <typename MatrA, typename MatrB, typename Work>
- inline int gelss(MatrA& A, MatrB& B, Work workspace)
+ int gelss(MatrA& A, MatrB& B, Work workspace)
                 {
                         typedef typename MatrA::value_type val_t;
                         typedef typename traits::type_traits<val_t>::real_type real_t;

Modified: sandbox/boost/numeric/bindings/lapack/geqrf.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/geqrf.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/geqrf.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -97,7 +97,6 @@
     }
 
     template <typename A, typename Tau, typename Work>
- inline
     int geqrf (A& a, Tau& tau, Work& work) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -127,7 +126,6 @@
     // Workspace is allocated dynamically so that the optimization of
     // blas 3 calls is optimal.
     template <typename A, typename Tau>
- inline
     int geqrf (A& a, Tau& tau, optimal_workspace ) {
        typedef typename A::value_type value_type ;
        const int n = traits::matrix_size2 (a);
@@ -139,7 +137,6 @@
     // Workspace is allocated dynamically to its minimum size.
     // Blas 3 calls are not optimal.
     template <typename A, typename Tau>
- inline
     int geqrf (A& a, Tau& tau, minimal_workspace ) {
        typedef typename A::value_type value_type ;
        const int n = traits::matrix_size2 (a);
@@ -153,7 +150,6 @@
     // geqrf( a, tau, workspace( work ) ) where work is an array with the same value_type
     // as a.
     template <typename A, typename Tau, typename Work>
- inline
     int geqrf (A& a, Tau& tau, detail::workspace1<Work> workspace ) {
        typedef typename A::value_type value_type ;
        const int n = traits::matrix_size2 (a);

Modified: sandbox/boost/numeric/bindings/lapack/gesdd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gesdd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gesdd.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -256,7 +256,6 @@
 
 
     template <typename MatrA>
- inline
     int gesdd_work (char const q, char const jobz, MatrA const& a)
     {
 
@@ -326,7 +325,6 @@
 
 
     template <typename MatrA>
- inline
     int gesdd_rwork (char jobz, MatrA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -351,7 +349,6 @@
 
 
     template <typename MatrA>
- inline
     int gesdd_iwork (MatrA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -368,7 +365,6 @@
 
     template <typename MatrA, typename VecS,
               typename MatrU, typename MatrV, typename VecW, typename VecIW>
- inline
     int gesdd (char const jobz, MatrA& a,
                VecS& s, MatrU& u, MatrV& vt, VecW& w, VecIW& iw)
     {
@@ -456,7 +452,6 @@
 
     template <typename MatrA, typename VecS, typename MatrU,
               typename MatrV, typename VecW, typename VecRW, typename VecIW>
- inline
     int gesdd (char const jobz, MatrA& a,
                VecS& s, MatrU& u, MatrV& vt, VecW& w, VecRW& rw, VecIW& iw)
     {
@@ -536,7 +531,6 @@
 
 
     template <typename MatrA, typename VecS, typename MatrU, typename MatrV>
- inline
     int gesdd (char const opt, char const jobz,
                MatrA& a, VecS& s, MatrU& u, MatrV& vt)
     {
@@ -647,7 +641,6 @@
     }
 
     template <typename MatrA, typename VecS>
- inline
     int gesdd (MatrA& a, VecS& s) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/lapack/gesv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gesv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gesv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -93,7 +93,6 @@
     } //namespace detail
 
     template <typename MatrA, typename MatrB, typename IVec>
- inline
     int gesv (MatrA& a, IVec& ipiv, MatrB& b) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -124,7 +123,6 @@
     }
 
     template <typename MatrA, typename MatrB>
- inline
     int gesv (MatrA& a, MatrB& b) {
       // with 'internal' pivot vector
       
@@ -185,7 +183,6 @@
     } //namespace detail
 
     template <typename MatrA, typename IVec>
- inline
     int getrf (MatrA& a, IVec& ipiv) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -258,7 +255,6 @@
     } // namespace detail
 
     template <typename MatrA, typename MatrB, typename IVec>
- inline
     int getrs (char const trans, MatrA const& a, IVec const& ipiv, MatrB& b)
     {
       assert (trans == 'N' || trans == 'T' || trans == 'C');
@@ -347,7 +343,6 @@
                         
                         
       template <typename MatrA, typename IVec, typename Work>
- inline
       int getri (MatrA& a, IVec const& ipiv, Work& work)
       {
         #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -408,7 +403,6 @@
 
                 
     template <typename MatrA, typename IVec>
- inline
     int getri(MatrA& a, IVec& ipiv, minimal_workspace)
     {
       typedef typename MatrA::value_type value_type;
@@ -423,7 +417,6 @@
 
     // optimal workspace allocation
     template <typename MatrA, typename IVec>
- inline
     int getri(MatrA& a, IVec& ipiv, optimal_workspace)
     {
       typedef typename MatrA::value_type value_type;

Modified: sandbox/boost/numeric/bindings/lapack/gesvd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/gesvd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/gesvd.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -158,7 +158,6 @@
 
 
     template <typename MatrA>
- inline
     int gesvd_work (char const q,
                     char const jobu, char const jobvt, MatrA const& a)
     {
@@ -220,7 +219,6 @@
 
 
     template <typename MatrA>
- inline
     int gesvd_rwork (MatrA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -244,7 +242,6 @@
 
     template <typename MatrA, typename VecS,
               typename MatrU, typename MatrV, typename VecW>
- inline
     int gesvd (char const jobu, char const jobvt,
                MatrA& a, VecS& s, MatrU& u, MatrV& vt, VecW& w)
     {
@@ -320,7 +317,6 @@
 
     template <typename MatrA, typename VecS,
               typename MatrU, typename MatrV, typename VecW, typename VecRW>
- inline
     int gesvd (char const jobu, char const jobvt,
                MatrA& a, VecS& s, MatrU& u, MatrV& vt, VecW& w, VecRW& rw)
     {
@@ -387,7 +383,6 @@
 
 
     template <typename MatrA, typename VecS, typename MatrU, typename MatrV>
- inline
     int gesvd (char const opt, char const jobu, char const jobvt,
                MatrA& a, VecS& s, MatrU& u, MatrV& vt)
     {
@@ -484,7 +479,6 @@
     }
 
     template <typename MatrA, typename VecS>
- inline
     int gesvd (MatrA& a, VecS& s) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/lapack/heev.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/heev.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/heev.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -82,7 +82,6 @@
 
 
       template <typename A, typename W, typename Work, typename RWork>
- inline
       int heev (char jobz, char uplo, A& a, W& w, Work& work, RWork& rwork) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/lapack/heevd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/heevd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/heevd.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -244,7 +244,7 @@
     } // namespace detail
 
     template <typename A, typename W, typename Work>
- inline int heevd (
+ int heevd (
       char jobz, char uplo, A& a,
       W& w, Work work = optimal_workspace() ) {
 

Modified: sandbox/boost/numeric/bindings/lapack/heevx.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/heevx.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/heevx.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -275,7 +275,7 @@
     } // namespace detail
 
     template <typename A, typename T, typename W, typename Z, typename IFail, typename Work>
- inline int heevx (
+ int heevx (
       char jobz, char range, A& a, T vl, T vu, int il, int iu, T abstol, int& m,
       W& w, Z& z, IFail& ifail, Work work = optimal_workspace() ) {
 

Modified: sandbox/boost/numeric/bindings/lapack/hesv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hesv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hesv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -60,7 +60,6 @@
 
 
     template <typename HermA>
- inline
     int hetrf_block (char const q, char const ul, HermA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -85,7 +84,6 @@
     }
 
     template <typename HermA>
- inline
     int hetrf_block (char const q, HermA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -110,7 +108,6 @@
     }
 
     template <typename HermA>
- inline
     int hetrf_work (char const q, char const ul, HermA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -139,7 +136,6 @@
     }
 
     template <typename HermA>
- inline
     int hetrf_work (char const q, HermA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -220,7 +216,6 @@
       }
 
       template <typename HermA, typename MatrB, typename IVec, typename Work>
- inline
       int hesv (char const ul, HermA& a, IVec& i, MatrB& b, Work& w) {
 
         int const n = traits::matrix_size1 (a);
@@ -244,7 +239,6 @@
     }
 
     template <typename HermA, typename MatrB, typename IVec, typename Work>
- inline
     int hesv (char const ul, HermA& a, IVec& i, MatrB& b, Work& w) {
 
       assert (ul == 'U' || ul == 'L');
@@ -266,7 +260,6 @@
     }
 
     template <typename HermA, typename MatrB, typename IVec, typename Work>
- inline
     int hesv (HermA& a, IVec& i, MatrB& b, Work& w) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -287,7 +280,6 @@
     }
 
     template <typename HermA, typename MatrB>
- inline
     int hesv (char const ul, HermA& a, MatrB& b) {
       // with 'internal' pivot and work vectors
 
@@ -325,7 +317,6 @@
     }
 
     template <typename HermA, typename MatrB>
- inline
     int hesv (HermA& a, MatrB& b) {
       // with 'internal' pivot and work vectors
 
@@ -396,7 +387,6 @@
       }
 
       template <typename HermA, typename IVec, typename Work>
- inline
       int hetrf (char const ul, HermA& a, IVec& i, Work& w) {
 
         int const n = traits::matrix_size1 (a);
@@ -416,7 +406,6 @@
     }
 
     template <typename HermA, typename IVec, typename Work>
- inline
     int hetrf (char const ul, HermA& a, IVec& i, Work& w) {
 
       assert (ul == 'U' || ul == 'L');
@@ -434,7 +423,6 @@
     }
 
     template <typename HermA, typename IVec, typename Work>
- inline
     int hetrf (HermA& a, IVec& i, Work& w) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -451,7 +439,6 @@
     }
 
     template <typename HermA, typename Ivec>
- inline
     int hetrf (char const ul, HermA& a, Ivec& i) {
       // with 'internal' work vector
 
@@ -479,7 +466,6 @@
     }
 
     template <typename HermA, typename Ivec>
- inline
     int hetrf (HermA& a, Ivec& i) {
       // with 'internal' work vector
 
@@ -538,7 +524,6 @@
       }
 
       template <typename HermA, typename MatrB, typename IVec>
- inline
       int hetrs (char const ul, HermA const& a, IVec const& i, MatrB& b) {
 
         int const n = traits::matrix_size1 (a);

Modified: sandbox/boost/numeric/bindings/lapack/hpsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/hpsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/hpsv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -74,7 +74,6 @@
       }
 
       template <typename HermA, typename MatrB, typename IVec>
- inline
       int hpsv (HermA& a, IVec& i, MatrB& b) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -113,7 +112,6 @@
     }
 
     template <typename HermA, typename MatrB>
- inline
     int hpsv (HermA& a, MatrB& b) {
       // with 'internal' pivot vector
 
@@ -161,7 +159,6 @@
     }
 
     template <typename HermA, typename IVec>
- inline
     int hptrf (HermA& a, IVec& i) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -215,7 +212,6 @@
     }
 
     template <typename HermA, typename MatrB, typename IVec>
- inline
     int hptrs (HermA const& a, IVec const& i, MatrB& b) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/lapack/orgqr.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/orgqr.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/orgqr.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -96,7 +96,7 @@
         //--------------------------------------------
 
    template <typename A, typename Tau, typename Work>
- inline int orgqr(A& a, Tau& tau, Work &work) {
+ int orgqr(A& a, Tau& tau, Work &work) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
       BOOST_STATIC_ASSERT((boost::is_same<
@@ -127,7 +127,6 @@
     // Workspace is allocated dynamically so that the optimization of
     // blas 3 calls is optimal.
     template <typename A, typename Tau>
- inline
     int orgqr (A& a, Tau& tau, optimal_workspace ) {
        typedef typename A::value_type value_type ;
            const int n = traits::matrix_size2 (a);
@@ -140,7 +139,6 @@
     // Workspace is allocated dynamically to its minimum size.
     // Blas 3 calls are not optimal.
     template <typename A, typename Tau>
- inline
     int orgqr (A& a, Tau& tau, minimal_workspace ) {
        typedef typename A::value_type value_type ;
            const int n = traits::matrix_size2 (a);
@@ -152,7 +150,6 @@
     // Workspace is taken from the array in workspace.
    
     template <typename A, typename Tau, typename Work>
- inline
     int orgqr (A& a, Tau& tau, detail::workspace1<Work> workspace ) {
        typedef typename A::value_type value_type ;
            const int n = traits::matrix_size2 (a);

Modified: sandbox/boost/numeric/bindings/lapack/ormqr.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/ormqr.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/ormqr.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -131,7 +131,6 @@
 
 
       template <typename A, typename Tau, typename C, typename Work>
- inline
       int ormqr (char side, char trans, const A& a, const Tau& tau, C& c,
                  Work& work) {
 
@@ -179,7 +178,6 @@
 
     // Function that allocates temporary arrays for optimal execution time.
     template <typename A, typename Tau, typename C>
- inline
     int ormqr (char side, char trans, const A& a, const Tau& tau, C& c, optimal_workspace ) {
        typedef typename A::value_type value_type ;
 
@@ -194,7 +192,6 @@
 
     // Function that allocates temporary arrays with minimal size
     template <typename A, typename Tau, typename C>
- inline
     int ormqr (char side, char trans, const A& a, const Tau& tau, C& c, minimal_workspace ) {
        typedef typename A::value_type value_type ;
 
@@ -211,7 +208,6 @@
     // The calling sequence is ormqr(side, trans, a, tau, c, workspace( work_array ) )
     // where work_array is an array with the same value_type as a and c .
     template <typename A, typename Tau, typename C, typename Work>
- inline
     int ormqr (char side, char trans, const A& a, const Tau& tau, C& c, detail::workspace1<Work> workspace ) {
        typedef typename A::value_type value_type ;
 

Modified: sandbox/boost/numeric/bindings/lapack/posv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/posv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/posv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -96,7 +96,6 @@
       }
 
       template <typename SymmMatrA, typename MatrB>
- inline
       int posv (char const uplo, SymmMatrA& a, MatrB& b) {
         int const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
@@ -192,7 +191,6 @@
       }
 
       template <typename SymmMatrA>
- inline
       int potrf (char const uplo, SymmMatrA& a) {
         int const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));
@@ -283,7 +281,6 @@
       }
 
       template <typename SymmMatrA, typename MatrB>
- inline
       int potrs (char const uplo, SymmMatrA const& a, MatrB& b) {
         int const n = traits::matrix_size1 (a);
         assert (n == traits::matrix_size2 (a));

Modified: sandbox/boost/numeric/bindings/lapack/ppsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/ppsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/ppsv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -95,7 +95,6 @@
     }
 
     template <typename SymmMatrA, typename MatrB>
- inline
     int ppsv (SymmMatrA& a, MatrB& b) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -164,7 +163,6 @@
     }
 
     template <typename SymmMatrA>
- inline
     int pptrf (SymmMatrA& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -230,7 +228,6 @@
     }
 
     template <typename SymmMatrA, typename MatrB>
- inline
     int pptrs (SymmMatrA const& a, MatrB& b) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -300,7 +297,6 @@
     }
 
     template <typename SymmMatrA>
- inline
     int pptri (SymmMatrA& a) { //ISSUE: More correctly, triangular matrix
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/lapack/ptsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/ptsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/ptsv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -76,7 +76,7 @@
     }
 
     template <typename D, typename E, typename B>
- inline int ptsv( D& d, E& e, B& b ) {
+ int ptsv( D& d, E& e, B& b ) {
       int const n = traits::vector_size(d) ;
       assert( n==traits::vector_size(e)+1 ) ;
       assert( n==traits::matrix_num_rows(b) ) ;
@@ -126,7 +126,6 @@
     }
 
     template <typename D, typename E>
- inline
     int pttrf (D& d, E& e) {
       int const n = traits::vector_size (d);
       assert (n == traits::vector_size (e) + 1);
@@ -186,7 +185,6 @@
     }
 
     template <typename D, typename E, typename MatrB>
- inline
     int pttrs (char uplo, D const& d, E const& e, MatrB& b) {
       int const n = traits::vector_size (d);
       assert (n == traits::vector_size (e) + 1);

Modified: sandbox/boost/numeric/bindings/lapack/spsv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/spsv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/spsv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -91,7 +91,6 @@
       }
 
       template <typename SymmA, typename MatrB, typename IVec>
- inline
       int spsv (SymmA& a, IVec& i, MatrB& b) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -130,7 +129,6 @@
     }
 
     template <typename SymmA, typename MatrB>
- inline
     int spsv (SymmA& a, MatrB& b) {
       // with 'internal' pivot vector
 
@@ -186,7 +184,6 @@
     }
 
     template <typename SymmA, typename IVec>
- inline
     int sptrf (SymmA& a, IVec& i) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -256,7 +253,6 @@
     }
 
     template <typename SymmA, typename MatrB, typename IVec>
- inline
     int sptrs (SymmA const& a, IVec const& i, MatrB& b) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -325,7 +321,6 @@
     } // namespace detail
 
     template <typename SymmA, typename IVec>
- inline
     int sptri (SymmA& a, IVec& ipiv)
     {
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/lapack/steqr.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/steqr.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/steqr.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -50,7 +50,6 @@
 
 
     template <typename D, typename E, typename Z, typename W>
- inline
     int steqr( char compz, D& d, E& e, Z& z, W& work ) {
 
       int const n = traits::vector_size (d);
@@ -74,7 +73,6 @@
 
 
     template <typename D, typename E, typename Z>
- inline
     int steqr( char compz, D& d, E& e, Z& z, optimal_workspace ) {
       int lwork = 0 ;
       if (compz != 'N') lwork = 2 * traits::vector_size( d ) - 2 ;
@@ -86,7 +84,6 @@
 
 
     template <typename D, typename E, typename Z>
- inline
     int steqr( char compz, D& d, E& e, Z& z, minimal_workspace ) {
       int lwork = 1 ;
       if (compz != 'N') lwork = 2 * traits::vector_size( e ) ;

Modified: sandbox/boost/numeric/bindings/lapack/syev.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/syev.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/syev.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -74,7 +74,6 @@
 
 
       template <typename A, typename W, typename Work>
- inline
       int syev (char jobz, char uplo, A& a, W& w, Work& work) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -108,7 +107,6 @@
 
     // Function that allocates work arrays
     template <typename A, typename W>
- inline
     int syev (char jobz, char uplo, A& a, W& w, optimal_workspace ) {
        typedef typename A::value_type value_type ;
 
@@ -121,7 +119,6 @@
 
     // Function that allocates work arrays
     template <typename A, typename W>
- inline
     int syev (char jobz, char uplo, A& a, W& w, minimal_workspace ) {
        typedef typename A::value_type value_type ;
 
@@ -134,7 +131,6 @@
 
     // Function that allocates work arrays
     template <typename A, typename W, typename Work>
- inline
     int syev (char jobz, char uplo, A& a, W& w, detail::workspace1<Work> workspace ) {
        typedef typename A::value_type value_type ;
 
@@ -152,7 +148,6 @@
     // With UPLO integrated in matrix type
     //
     template <typename A, typename W>
- inline
     int syev (char jobz, A& a, W& w, optimal_workspace ) {
        typedef typename A::value_type value_type ;
 
@@ -173,7 +168,6 @@
 
     // Function that allocates work arrays
     template <typename A, typename W>
- inline
     int syev (char jobz, A& a, W& w, minimal_workspace ) {
        typedef typename A::value_type value_type ;
 
@@ -193,7 +187,6 @@
 
     // Function that allocates work arrays
     template <typename A, typename W, typename Work>
- inline
     int syev (char jobz, A& a, W& w, detail::workspace1<Work> workspace ) {
        typedef typename A::value_type value_type ;
        char uplo = traits::matrix_uplo_tag( a ) ;

Modified: sandbox/boost/numeric/bindings/lapack/syevd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/syevd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/syevd.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -15,7 +15,8 @@
   namespace lapack {
 
     template <typename A, typename W, typename Work>
- inline int syevd (
+ inline
+ int syevd (
       char jobz, char uplo, A& a,
       W& w, Work work = optimal_workspace() ) {
 

Modified: sandbox/boost/numeric/bindings/lapack/sysv.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/sysv.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/sysv.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -71,7 +71,6 @@
 
 
     template <typename SymmA>
- inline
     int sytrf_block (char const q, char const ul, SymmA const& a)
     {
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -96,7 +95,6 @@
     }
 
     template <typename SymmA>
- inline
     int sytrf_block (char const q, SymmA const& a)
     {
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -121,7 +119,6 @@
     }
 
     template <typename SymmA>
- inline
     int sytrf_work (char const q, char const ul, SymmA const& a)
     {
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -150,7 +147,6 @@
     }
 
     template <typename SymmA>
- inline
     int sytrf_work (char const q, SymmA const& a) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK
@@ -251,7 +247,6 @@
       }
 
       template <typename SymmA, typename MatrB, typename IVec, typename Work>
- inline
       int sysv (char const ul, SymmA& a, IVec& i, MatrB& b, Work& w)
       {
         int const n = traits::matrix_size1 (a);
@@ -316,7 +311,6 @@
     }
 
     template <typename SymmA, typename MatrB>
- inline
     int sysv (char const ul, SymmA& a, MatrB& b)
     {
       // with 'internal' pivot and work vectors
@@ -355,7 +349,6 @@
     }
 
     template <typename SymmA, typename MatrB>
- inline
     int sysv (SymmA& a, MatrB& b)
     {
       // with 'internal' pivot and work vectors
@@ -442,7 +435,6 @@
       }
 
       template <typename SymmA, typename IVec, typename Work>
- inline
       int sytrf (char const ul, SymmA& a, IVec& i, Work& w) {
 
         int const n = traits::matrix_size1 (a);
@@ -495,7 +487,6 @@
     }
 
     template <typename SymmA, typename Ivec>
- inline
     int sytrf (char const ul, SymmA& a, Ivec& i)
     {
       // with 'internal' work vector
@@ -524,7 +515,6 @@
     }
 
     template <typename SymmA, typename Ivec>
- inline
     int sytrf (SymmA& a, Ivec& i)
     {
       // with 'internal' work vector
@@ -600,7 +590,6 @@
       }
 
       template <typename SymmA, typename MatrB, typename IVec>
- inline
       int sytrs (char const ul, SymmA const& a, IVec const& i, MatrB& b) {
 
         int const n = traits::matrix_size1 (a);
@@ -702,7 +691,6 @@
       }
 
       template <typename SymmA, typename IVec, typename Work>
- inline
       int sytri (char const ul, SymmA& a, IVec const& ipiv, Work& work)
       {
         assert (ul == 'U' || ul == 'L');
@@ -731,7 +719,6 @@
 
     //Internal allocation of workspace, general matrix with up/low tag
     template <typename SymmA, typename IVec>
- inline
     int sytri (char const ul, SymmA& a, IVec const& ipiv)
     {
       assert (ul == 'U' || ul == 'L');
@@ -760,7 +747,6 @@
       symmetric packed matrices.
       */
     template <typename SymmA, typename IVec>
- inline
     int sytri (SymmA& a, IVec const& ipiv)
     {
 

Modified: sandbox/boost/numeric/bindings/lapack/sytrd.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/sytrd.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/sytrd.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -50,7 +50,6 @@
 
 
     template <typename A, typename D, typename E, typename Tau, typename W>
- inline
     int sytrd( char uplo, A& a, D& d, E& e, Tau& tau, W& work ) {
 
       int const n = traits::matrix_size1 (a);
@@ -77,7 +76,6 @@
 
 
     template <typename A, typename D, typename E, typename Tau>
- inline
     int sytrd( char uplo, A& a, D& d, E& e, Tau& tau, optimal_workspace=optimal_workspace() ) {
       int info;
       detail::sytrd( uplo, traits::matrix_size1( a ),
@@ -98,7 +96,6 @@
 
 
     template <typename A, typename D, typename E, typename Tau>
- inline
     int sytrd( char uplo, A& a, D& d, E& e, Tau& tau, minimal_workspace ) {
       int lwork = 1 ;
       traits::detail::array<typename traits::vector_traits<D>::value_type> work( lwork );

Modified: sandbox/boost/numeric/bindings/lapack/trevc.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/trevc.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/trevc.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -86,7 +86,6 @@
 
     // Compute Schur factorization with Schur vectors
     template <typename MatrT, typename VL, typename VR, typename Work>
- inline
     int trevc (char const side, char const howmny, MatrT& t, VL& vl, VR& vr, Work& work) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/lapack/trexc.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/lapack/trexc.hpp (original)
+++ sandbox/boost/numeric/bindings/lapack/trexc.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -100,7 +100,6 @@
 
     // Reorder Schur factorization with Schur vectors
     template <typename MatrT, typename Q, typename Work>
- inline
     int trexc (char const compq, MatrT& t, Q& q, int& ifst, int& ilst, Work& work) {
 
 #ifndef BOOST_NUMERIC_BINDINGS_NO_STRUCTURE_CHECK

Modified: sandbox/boost/numeric/bindings/traits/detail/utils.hpp
==============================================================================
--- sandbox/boost/numeric/bindings/traits/detail/utils.hpp (original)
+++ sandbox/boost/numeric/bindings/traits/detail/utils.hpp 2008-12-14 10:43:16 EST (Sun, 14 Dec 2008)
@@ -23,8 +23,7 @@
   namespace detail {
 
     // complex array => real & imaginary arrays
- template <typename CIt, typename RIt>
- inline
+ template <typename CIt, typename RIt>
     void disentangle (CIt c, CIt c_end, RIt rr, RIt ri) {
       for (; c != c_end; ++c, ++rr, ++ri) {
         *rr = traits::real (*c);
@@ -32,8 +31,7 @@
       }
     }
     // real & imaginary arrays => complex array
- template <typename RIt, typename CIt>
- inline
+ template <typename RIt, typename CIt>
     void interlace (RIt r, RIt r_end, RIt ri, CIt c) {
       typedef typename std::iterator_traits<CIt>::value_type cmplx_t;
 #ifdef BOOST_NUMERIC_BINDINGS_BY_THE_BOOK


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk