Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56683 - in sandbox/numeric_bindings/boost/numeric/bindings/lapack: . computational driver
From: rutger_at_[hidden]
Date: 2009-10-09 16:41:14


Author: rutger
Date: 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
New Revision: 56683
URL: http://svn.boost.org/trac/boost/changeset/56683

Log:
Explicit std::ptrdiff_t in assertion

Text files modified:
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational.hpp | 152 +++++++++++++++++++++++++++++++++++++++
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp | 22 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbcon.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbequ.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp | 36 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp | 36 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp | 10 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp | 36 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp | 36 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp | 24 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp | 18 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp | 12 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp | 12 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp | 10 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/lacon.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/laebz.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp | 16 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrs.hpp | 10 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp | 36 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp | 8 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp | 8 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp | 10 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stebz.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp | 10 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stemr.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sterf.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp | 36 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbcon.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsna.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp | 28 +++----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp | 22 +++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp | 8 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver.hpp | 97 +++++++++++++++++++++++++
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp | 13 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cposv.hpp | 13 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp | 8 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp | 22 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp | 30 +++----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp | 30 +++----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp | 22 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp | 36 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp | 26 +++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp | 7 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp | 4
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp | 16 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp | 18 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lacgv.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp | 10 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/largv.hpp | 4 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp | 8 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp | 12 +--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp | 36 ++++-----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp | 8 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp | 10 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp | 16 ++--
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp | 4
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp | 13 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sposv.hpp | 13 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp | 8 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp | 20 ++---
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp | 2
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp | 5
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp | 9 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp | 6 -
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp | 8 +-
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp | 32 +++----
   sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp | 36 ++++-----
   235 files changed, 1212 insertions(+), 1530 deletions(-)

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -1,12 +1,162 @@
 //
-// Copyright (c) 2009 Rutger ter Borg
+// Copyright (c) 2003--2009
+// Toon Knapen, Karl Meerbergen, Kresimir Fresl,
+// Thomas Klimpel and Rutger ter Borg
 //
 // Distributed under the Boost Software License, Version 1.0.
 // (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 //
+// THIS FILE IS AUTOMATICALLY GENERATED
+// PLEASE DO NOT EDIT!
+//
 
 #ifndef BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HPP
 #define BOOST_NUMERIC_BINDINGS_LAPACK_COMPUTATIONAL_HPP
 
+#include <boost/numeric/bindings/lapack/computational/hbgst.hpp>
+#include <boost/numeric/bindings/lapack/computational/hegst.hpp>
+#include <boost/numeric/bindings/lapack/computational/pbstf.hpp>
+#include <boost/numeric/bindings/lapack/computational/sbgst.hpp>
+#include <boost/numeric/bindings/lapack/computational/sygst.hpp>
+#include <boost/numeric/bindings/lapack/computational/ggqrf.hpp>
+#include <boost/numeric/bindings/lapack/computational/ggrqf.hpp>
+#include <boost/numeric/bindings/lapack/computational/gelqf.hpp>
+#include <boost/numeric/bindings/lapack/computational/geqlf.hpp>
+#include <boost/numeric/bindings/lapack/computational/geqp3.hpp>
+#include <boost/numeric/bindings/lapack/computational/geqrf.hpp>
+#include <boost/numeric/bindings/lapack/computational/gerqf.hpp>
+#include <boost/numeric/bindings/lapack/computational/larz.hpp>
+#include <boost/numeric/bindings/lapack/computational/latrz.hpp>
+#include <boost/numeric/bindings/lapack/computational/orglq.hpp>
+#include <boost/numeric/bindings/lapack/computational/orgql.hpp>
+#include <boost/numeric/bindings/lapack/computational/orgqr.hpp>
+#include <boost/numeric/bindings/lapack/computational/orgrq.hpp>
+#include <boost/numeric/bindings/lapack/computational/ormlq.hpp>
+#include <boost/numeric/bindings/lapack/computational/ormql.hpp>
+#include <boost/numeric/bindings/lapack/computational/ormqr.hpp>
+#include <boost/numeric/bindings/lapack/computational/ormrq.hpp>
+#include <boost/numeric/bindings/lapack/computational/ormrz.hpp>
+#include <boost/numeric/bindings/lapack/computational/tzrzf.hpp>
+#include <boost/numeric/bindings/lapack/computational/unglq.hpp>
+#include <boost/numeric/bindings/lapack/computational/ungql.hpp>
+#include <boost/numeric/bindings/lapack/computational/ungqr.hpp>
+#include <boost/numeric/bindings/lapack/computational/ungrq.hpp>
+#include <boost/numeric/bindings/lapack/computational/unmlq.hpp>
+#include <boost/numeric/bindings/lapack/computational/unmql.hpp>
+#include <boost/numeric/bindings/lapack/computational/unmqr.hpp>
+#include <boost/numeric/bindings/lapack/computational/unmrq.hpp>
+#include <boost/numeric/bindings/lapack/computational/unmrz.hpp>
+#include <boost/numeric/bindings/lapack/computational/bdsdc.hpp>
+#include <boost/numeric/bindings/lapack/computational/bdsqr.hpp>
+#include <boost/numeric/bindings/lapack/computational/gbbrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/gebrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/labrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/orgbr.hpp>
+#include <boost/numeric/bindings/lapack/computational/ormbr.hpp>
+#include <boost/numeric/bindings/lapack/computational/ungbr.hpp>
+#include <boost/numeric/bindings/lapack/computational/unmbr.hpp>
+#include <boost/numeric/bindings/lapack/computational/gebak.hpp>
+#include <boost/numeric/bindings/lapack/computational/gebal.hpp>
+#include <boost/numeric/bindings/lapack/computational/gehrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/hsein.hpp>
+#include <boost/numeric/bindings/lapack/computational/hseqr.hpp>
+#include <boost/numeric/bindings/lapack/computational/orghr.hpp>
+#include <boost/numeric/bindings/lapack/computational/ormhr.hpp>
+#include <boost/numeric/bindings/lapack/computational/trevc.hpp>
+#include <boost/numeric/bindings/lapack/computational/trexc.hpp>
+#include <boost/numeric/bindings/lapack/computational/trsen.hpp>
+#include <boost/numeric/bindings/lapack/computational/trsna.hpp>
+#include <boost/numeric/bindings/lapack/computational/trsyl.hpp>
+#include <boost/numeric/bindings/lapack/computational/unghr.hpp>
+#include <boost/numeric/bindings/lapack/computational/unmhr.hpp>
+#include <boost/numeric/bindings/lapack/computational/gbcon.hpp>
+#include <boost/numeric/bindings/lapack/computational/gbequ.hpp>
+#include <boost/numeric/bindings/lapack/computational/gbrfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/gbtrf.hpp>
+#include <boost/numeric/bindings/lapack/computational/gbtrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/gecon.hpp>
+#include <boost/numeric/bindings/lapack/computational/geequ.hpp>
+#include <boost/numeric/bindings/lapack/computational/gerfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/getrf.hpp>
+#include <boost/numeric/bindings/lapack/computational/getri.hpp>
+#include <boost/numeric/bindings/lapack/computational/getrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/gtrfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/gttrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/hecon.hpp>
+#include <boost/numeric/bindings/lapack/computational/herfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/hetrf.hpp>
+#include <boost/numeric/bindings/lapack/computational/hetri.hpp>
+#include <boost/numeric/bindings/lapack/computational/hetrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/hprfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/hptrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/lacon.hpp>
+#include <boost/numeric/bindings/lapack/computational/latrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/pbcon.hpp>
+#include <boost/numeric/bindings/lapack/computational/pbequ.hpp>
+#include <boost/numeric/bindings/lapack/computational/pbrfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/pbtrf.hpp>
+#include <boost/numeric/bindings/lapack/computational/pbtrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/pftrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/pocon.hpp>
+#include <boost/numeric/bindings/lapack/computational/poequ.hpp>
+#include <boost/numeric/bindings/lapack/computational/porfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/potrf.hpp>
+#include <boost/numeric/bindings/lapack/computational/potri.hpp>
+#include <boost/numeric/bindings/lapack/computational/potrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/pprfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/pptrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/ptrfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/pttrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/sprfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/sptrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/sycon.hpp>
+#include <boost/numeric/bindings/lapack/computational/syrfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/sytrf.hpp>
+#include <boost/numeric/bindings/lapack/computational/sytri.hpp>
+#include <boost/numeric/bindings/lapack/computational/sytrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/tbcon.hpp>
+#include <boost/numeric/bindings/lapack/computational/tbrfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/tbtrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/tprfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/tptri.hpp>
+#include <boost/numeric/bindings/lapack/computational/tptrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/trcon.hpp>
+#include <boost/numeric/bindings/lapack/computational/trrfs.hpp>
+#include <boost/numeric/bindings/lapack/computational/trtri.hpp>
+#include <boost/numeric/bindings/lapack/computational/trtrs.hpp>
+#include <boost/numeric/bindings/lapack/computational/hbtrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/hetrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/laebz.hpp>
+#include <boost/numeric/bindings/lapack/computational/latrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/opgtr.hpp>
+#include <boost/numeric/bindings/lapack/computational/opmtr.hpp>
+#include <boost/numeric/bindings/lapack/computational/orgtr.hpp>
+#include <boost/numeric/bindings/lapack/computational/ormtr.hpp>
+#include <boost/numeric/bindings/lapack/computational/pteqr.hpp>
+#include <boost/numeric/bindings/lapack/computational/sbtrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/stebz.hpp>
+#include <boost/numeric/bindings/lapack/computational/stedc.hpp>
+#include <boost/numeric/bindings/lapack/computational/stegr.hpp>
+#include <boost/numeric/bindings/lapack/computational/stein.hpp>
+#include <boost/numeric/bindings/lapack/computational/stemr.hpp>
+#include <boost/numeric/bindings/lapack/computational/steqr.hpp>
+#include <boost/numeric/bindings/lapack/computational/sterf.hpp>
+#include <boost/numeric/bindings/lapack/computational/sytrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/ungtr.hpp>
+#include <boost/numeric/bindings/lapack/computational/unmtr.hpp>
+#include <boost/numeric/bindings/lapack/computational/upgtr.hpp>
+#include <boost/numeric/bindings/lapack/computational/upmtr.hpp>
+#include <boost/numeric/bindings/lapack/computational/ggbak.hpp>
+#include <boost/numeric/bindings/lapack/computational/ggbal.hpp>
+#include <boost/numeric/bindings/lapack/computational/gghrd.hpp>
+#include <boost/numeric/bindings/lapack/computational/hgeqz.hpp>
+#include <boost/numeric/bindings/lapack/computational/tgevc.hpp>
+#include <boost/numeric/bindings/lapack/computational/tgexc.hpp>
+#include <boost/numeric/bindings/lapack/computational/tgsen.hpp>
+#include <boost/numeric/bindings/lapack/computational/tgsna.hpp>
+#include <boost/numeric/bindings/lapack/computational/tgsyl.hpp>
+#include <boost/numeric/bindings/lapack/computational/ggsvp.hpp>
+#include <boost/numeric/bindings/lapack/computational/tgsja.hpp>
+
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsdc.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,7 +41,6 @@
     LAPACK_SBDSDC( &uplo, &compq, &n, d, e, u, &ldu, vt, &ldvt, q, iq, work,
             iwork, &info );
 }
-
 inline void bdsdc( const char uplo, const char compq, const integer_t n,
         double* d, double* e, double* u, const integer_t ldu, double* vt,
         const integer_t ldvt, double* q, integer_t* iq, double* work,
@@ -49,7 +48,6 @@
     LAPACK_DBDSDC( &uplo, &compq, &n, d, e, u, &ldu, vt, &ldvt, q, iq, work,
             iwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/bdsqr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SBDSQR( &uplo, &n, &ncvt, &nru, &ncc, d, e, vt, &ldvt, u, &ldu, c,
             &ldc, work, &info );
 }
-
 inline void bdsqr( const char uplo, const integer_t n, const integer_t ncvt,
         const integer_t nru, const integer_t ncc, double* d, double* e,
         double* vt, const integer_t ldvt, double* u, const integer_t ldu,
@@ -52,7 +51,6 @@
     LAPACK_DBDSQR( &uplo, &n, &ncvt, &nru, &ncc, d, e, vt, &ldvt, u, &ldu, c,
             &ldc, work, &info );
 }
-
 inline void bdsqr( const char uplo, const integer_t n, const integer_t ncvt,
         const integer_t nru, const integer_t ncc, float* d, float* e,
         traits::complex_f* vt, const integer_t ldvt, traits::complex_f* u,
@@ -62,7 +60,6 @@
             traits::complex_ptr(vt), &ldvt, traits::complex_ptr(u), &ldu,
             traits::complex_ptr(c), &ldc, rwork, &info );
 }
-
 inline void bdsqr( const char uplo, const integer_t n, const integer_t ncvt,
         const integer_t nru, const integer_t ncc, double* d, double* e,
         traits::complex_d* vt, const integer_t ldvt, traits::complex_d* u,
@@ -72,7 +69,6 @@
             traits::complex_ptr(vt), &ldvt, traits::complex_ptr(u), &ldu,
             traits::complex_ptr(c), &ldc, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -109,8 +105,8 @@
         BOOST_ASSERT( traits::matrix_num_columns(vt) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(u) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(u) >= std::max(1,
- traits::matrix_num_rows(u)) );
+ BOOST_ASSERT( traits::leading_dimension(u) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(u)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n, traits::matrix_num_columns(vt),
                 traits::matrix_num_rows(u), traits::matrix_num_columns(c) ));
@@ -180,8 +176,8 @@
         BOOST_ASSERT( traits::matrix_num_columns(vt) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(u) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(u) >= std::max(1,
- traits::matrix_num_rows(u)) );
+ BOOST_ASSERT( traits::leading_dimension(u) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(u)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_rwork( n, traits::matrix_num_columns(vt),
                 traits::matrix_num_rows(u), traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbbrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGBBRD( &vect, &m, &n, &ncc, &kl, &ku, ab, &ldab, d, e, q, &ldq,
             pt, &ldpt, c, &ldc, work, &info );
 }
-
 inline void gbbrd( const char vect, const integer_t m, const integer_t n,
         const integer_t ncc, const integer_t kl, const integer_t ku,
         double* ab, const integer_t ldab, double* d, double* e, double* q,
@@ -54,7 +53,6 @@
     LAPACK_DGBBRD( &vect, &m, &n, &ncc, &kl, &ku, ab, &ldab, d, e, q, &ldq,
             pt, &ldpt, c, &ldc, work, &info );
 }
-
 inline void gbbrd( const char vect, const integer_t m, const integer_t n,
         const integer_t ncc, const integer_t kl, const integer_t ku,
         traits::complex_f* ab, const integer_t ldab, float* d, float* e,
@@ -66,7 +64,6 @@
             traits::complex_ptr(pt), &ldpt, traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gbbrd( const char vect, const integer_t m, const integer_t n,
         const integer_t ncc, const integer_t kl, const integer_t ku,
         traits::complex_d* ab, const integer_t ldab, double* d, double* e,
@@ -78,7 +75,6 @@
             traits::complex_ptr(pt), &ldpt, traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -123,8 +119,10 @@
         BOOST_ASSERT( kl >= 0 );
         BOOST_ASSERT( ku >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kl+ku+1 );
- BOOST_ASSERT( traits::vector_size(d) >= std::min(m,n) );
- BOOST_ASSERT( traits::vector_size(e) >= std::min(m,n)-1 );
+ BOOST_ASSERT( traits::vector_size(d) >= std::min< std::ptrdiff_t >(m,
+ n) );
+ BOOST_ASSERT( traits::vector_size(e) >= std::min< std::ptrdiff_t >(m,
+ n)-1 );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( m, n ));
         detail::gbbrd( vect, m, n, traits::matrix_num_columns(c), kl, ku,
@@ -160,7 +158,7 @@
     }
 
     static integer_t min_size_work( const integer_t m, const integer_t n ) {
- return 2*std::max(m,n);
+ return 2*std::max< std::ptrdiff_t >(m,n);
     }
 };
 
@@ -199,8 +197,10 @@
         BOOST_ASSERT( kl >= 0 );
         BOOST_ASSERT( ku >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kl+ku+1 );
- BOOST_ASSERT( traits::vector_size(d) >= std::min(m,n) );
- BOOST_ASSERT( traits::vector_size(e) >= std::min(m,n)-1 );
+ BOOST_ASSERT( traits::vector_size(d) >= std::min< std::ptrdiff_t >(m,
+ n) );
+ BOOST_ASSERT( traits::vector_size(e) >= std::min< std::ptrdiff_t >(m,
+ n)-1 );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( m, n ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -240,11 +240,11 @@
     }
 
     static integer_t min_size_work( const integer_t m, const integer_t n ) {
- return std::max(m,n);
+ return std::max< std::ptrdiff_t >(m,n);
     }
 
     static integer_t min_size_rwork( const integer_t m, const integer_t n ) {
- return std::max(m,n);
+ return std::max< std::ptrdiff_t >(m,n);
     }
 };
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbcon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbcon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SGBCON( &norm, &n, &kl, &ku, ab, &ldab, ipiv, &anorm, &rcond, work,
             iwork, &info );
 }
-
 inline void gbcon( const char norm, const integer_t n, const integer_t kl,
         const integer_t ku, const double* ab, const integer_t ldab,
         const integer_t* ipiv, const double anorm, double& rcond,
@@ -52,7 +51,6 @@
     LAPACK_DGBCON( &norm, &n, &kl, &ku, ab, &ldab, ipiv, &anorm, &rcond, work,
             iwork, &info );
 }
-
 inline void gbcon( const char norm, const integer_t n, const integer_t kl,
         const integer_t ku, const traits::complex_f* ab, const integer_t ldab,
         const integer_t* ipiv, const float anorm, float& rcond,
@@ -60,7 +58,6 @@
     LAPACK_CGBCON( &norm, &n, &kl, &ku, traits::complex_ptr(ab), &ldab, ipiv,
             &anorm, &rcond, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gbcon( const char norm, const integer_t n, const integer_t kl,
         const integer_t ku, const traits::complex_d* ab, const integer_t ldab,
         const integer_t* ipiv, const double anorm, double& rcond,
@@ -68,7 +65,6 @@
     LAPACK_ZGBCON( &norm, &n, &kl, &ku, traits::complex_ptr(ab), &ldab, ipiv,
             &anorm, &rcond, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbequ.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbequ.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SGBEQU( &m, &n, &kl, &ku, ab, &ldab, r, c, &rowcnd, &colcnd, &amax,
             &info );
 }
-
 inline void gbequ( const integer_t m, const integer_t n, const integer_t kl,
         const integer_t ku, const double* ab, const integer_t ldab, double* r,
         double* c, double& rowcnd, double& colcnd, double& amax,
@@ -50,7 +49,6 @@
     LAPACK_DGBEQU( &m, &n, &kl, &ku, ab, &ldab, r, c, &rowcnd, &colcnd, &amax,
             &info );
 }
-
 inline void gbequ( const integer_t m, const integer_t n, const integer_t kl,
         const integer_t ku, const traits::complex_f* ab, const integer_t ldab,
         float* r, float* c, float& rowcnd, float& colcnd, float& amax,
@@ -58,7 +56,6 @@
     LAPACK_CGBEQU( &m, &n, &kl, &ku, traits::complex_ptr(ab), &ldab, r, c,
             &rowcnd, &colcnd, &amax, &info );
 }
-
 inline void gbequ( const integer_t m, const integer_t n, const integer_t kl,
         const integer_t ku, const traits::complex_d* ab, const integer_t ldab,
         double* r, double* c, double& rowcnd, double& colcnd, double& amax,
@@ -66,7 +63,6 @@
     LAPACK_ZGBEQU( &m, &n, &kl, &ku, traits::complex_ptr(ab), &ldab, r, c,
             &rowcnd, &colcnd, &amax, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbrfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SGBRFS( &trans, &n, &kl, &ku, &nrhs, ab, &ldab, afb, &ldafb, ipiv,
             b, &ldb, x, &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void gbrfs( const char trans, const integer_t n, const integer_t kl,
         const integer_t ku, const integer_t nrhs, const double* ab,
         const integer_t ldab, const double* afb, const integer_t ldafb,
@@ -56,7 +55,6 @@
     LAPACK_DGBRFS( &trans, &n, &kl, &ku, &nrhs, ab, &ldab, afb, &ldafb, ipiv,
             b, &ldb, x, &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void gbrfs( const char trans, const integer_t n, const integer_t kl,
         const integer_t ku, const integer_t nrhs, const traits::complex_f* ab,
         const integer_t ldab, const traits::complex_f* afb,
@@ -69,7 +67,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx, ferr,
             berr, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gbrfs( const char trans, const integer_t n, const integer_t kl,
         const integer_t ku, const integer_t nrhs, const traits::complex_d* ab,
         const integer_t ldab, const traits::complex_d* afb,
@@ -82,7 +79,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx, ferr,
             berr, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -128,8 +124,10 @@
         BOOST_ASSERT( traits::leading_dimension(ab) >= kl+ku+1 );
         BOOST_ASSERT( traits::leading_dimension(afb) >= 2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -220,8 +218,10 @@
         BOOST_ASSERT( traits::leading_dimension(ab) >= kl+ku+1 );
         BOOST_ASSERT( traits::leading_dimension(afb) >= 2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,27 +37,23 @@
         integer_t& info ) {
     LAPACK_SGBTRF( &m, &n, &kl, &ku, ab, &ldab, ipiv, &info );
 }
-
 inline void gbtrf( const integer_t m, const integer_t n, const integer_t kl,
         const integer_t ku, double* ab, const integer_t ldab, integer_t* ipiv,
         integer_t& info ) {
     LAPACK_DGBTRF( &m, &n, &kl, &ku, ab, &ldab, ipiv, &info );
 }
-
 inline void gbtrf( const integer_t m, const integer_t n, const integer_t kl,
         const integer_t ku, traits::complex_f* ab, const integer_t ldab,
         integer_t* ipiv, integer_t& info ) {
     LAPACK_CGBTRF( &m, &n, &kl, &ku, traits::complex_ptr(ab), &ldab, ipiv,
             &info );
 }
-
 inline void gbtrf( const integer_t m, const integer_t n, const integer_t kl,
         const integer_t ku, traits::complex_d* ab, const integer_t ldab,
         integer_t* ipiv, integer_t& info ) {
     LAPACK_ZGBTRF( &m, &n, &kl, &ku, traits::complex_ptr(ab), &ldab, ipiv,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -77,7 +73,8 @@
         BOOST_ASSERT( kl >= 0 );
         BOOST_ASSERT( ku >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= 2 );
- BOOST_ASSERT( traits::vector_size(ipiv) >= std::min(m,n) );
+ BOOST_ASSERT( traits::vector_size(ipiv) >= std::min<
+ std::ptrdiff_t >(m,n) );
         detail::gbtrf( m, n, kl, ku, traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::vector_storage(ipiv),
                 info );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gbtrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,7 +39,6 @@
     LAPACK_SGBTRS( &trans, &n, &kl, &ku, &nrhs, ab, &ldab, ipiv, b, &ldb,
             &info );
 }
-
 inline void gbtrs( const char trans, const integer_t n, const integer_t kl,
         const integer_t ku, const integer_t nrhs, const double* ab,
         const integer_t ldab, const integer_t* ipiv, double* b,
@@ -47,7 +46,6 @@
     LAPACK_DGBTRS( &trans, &n, &kl, &ku, &nrhs, ab, &ldab, ipiv, b, &ldb,
             &info );
 }
-
 inline void gbtrs( const char trans, const integer_t n, const integer_t kl,
         const integer_t ku, const integer_t nrhs, const traits::complex_f* ab,
         const integer_t ldab, const integer_t* ipiv, traits::complex_f* b,
@@ -55,7 +53,6 @@
     LAPACK_CGBTRS( &trans, &n, &kl, &ku, &nrhs, traits::complex_ptr(ab),
             &ldab, ipiv, traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void gbtrs( const char trans, const integer_t n, const integer_t kl,
         const integer_t ku, const integer_t nrhs, const traits::complex_d* ab,
         const integer_t ldab, const integer_t* ipiv, traits::complex_d* b,
@@ -63,7 +60,6 @@
     LAPACK_ZGBTRS( &trans, &n, &kl, &ku, &nrhs, traits::complex_ptr(ab),
             &ldab, ipiv, traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -88,7 +84,8 @@
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= 2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::gbtrs( trans, n, kl, ku, traits::matrix_num_columns(b),
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::vector_storage(ipiv), traits::matrix_storage(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebak.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         const integer_t m, float* v, const integer_t ldv, integer_t& info ) {
     LAPACK_SGEBAK( &job, &side, &n, &ilo, &ihi, scale, &m, v, &ldv, &info );
 }
-
 inline void gebak( const char job, const char side, const integer_t n,
         const integer_t ilo, const integer_t ihi, const double* scale,
         const integer_t m, double* v, const integer_t ldv, integer_t& info ) {
     LAPACK_DGEBAK( &job, &side, &n, &ilo, &ihi, scale, &m, v, &ldv, &info );
 }
-
 inline void gebak( const char job, const char side, const integer_t n,
         const integer_t ilo, const integer_t ihi, const float* scale,
         const integer_t m, traits::complex_f* v, const integer_t ldv,
@@ -54,7 +52,6 @@
     LAPACK_CGEBAK( &job, &side, &n, &ilo, &ihi, scale, &m,
             traits::complex_ptr(v), &ldv, &info );
 }
-
 inline void gebak( const char job, const char side, const integer_t n,
         const integer_t ilo, const integer_t ihi, const double* scale,
         const integer_t m, traits::complex_d* v, const integer_t ldv,
@@ -62,7 +59,6 @@
     LAPACK_ZGEBAK( &job, &side, &n, &ilo, &ihi, scale, &m,
             traits::complex_ptr(v), &ldv, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -90,8 +86,8 @@
         BOOST_ASSERT( traits::vector_size(scale) >=
                 traits::matrix_num_rows(v) );
         BOOST_ASSERT( traits::matrix_num_columns(v) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(v) >= std::max(1,
- traits::matrix_num_rows(v)) );
+ BOOST_ASSERT( traits::leading_dimension(v) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(v)) );
         detail::gebak( job, side, traits::matrix_num_rows(v), ilo, ihi,
                 traits::vector_storage(scale), traits::matrix_num_columns(v),
                 traits::matrix_storage(v), traits::leading_dimension(v),
@@ -117,8 +113,8 @@
         BOOST_ASSERT( traits::vector_size(scale) >=
                 traits::matrix_num_rows(v) );
         BOOST_ASSERT( traits::matrix_num_columns(v) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(v) >= std::max(1,
- traits::matrix_num_rows(v)) );
+ BOOST_ASSERT( traits::leading_dimension(v) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(v)) );
         detail::gebak( job, side, traits::matrix_num_rows(v), ilo, ihi,
                 traits::vector_storage(scale), traits::matrix_num_columns(v),
                 traits::matrix_storage(v), traits::leading_dimension(v),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebal.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,27 +40,23 @@
         integer_t& info ) {
     LAPACK_SGEBAL( &job, &n, a, &lda, &ilo, &ihi, scale, &info );
 }
-
 inline void gebal( const char job, const integer_t n, double* a,
         const integer_t lda, integer_t& ilo, integer_t& ihi, double* scale,
         integer_t& info ) {
     LAPACK_DGEBAL( &job, &n, a, &lda, &ilo, &ihi, scale, &info );
 }
-
 inline void gebal( const char job, const integer_t n, traits::complex_f* a,
         const integer_t lda, integer_t& ilo, integer_t& ihi, float* scale,
         integer_t& info ) {
     LAPACK_CGEBAL( &job, &n, traits::complex_ptr(a), &lda, &ilo, &ihi, scale,
             &info );
 }
-
 inline void gebal( const char job, const integer_t n, traits::complex_d* a,
         const integer_t lda, integer_t& ilo, integer_t& ihi, double* scale,
         integer_t& info ) {
     LAPACK_ZGEBAL( &job, &n, traits::complex_ptr(a), &lda, &ilo, &ihi, scale,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -83,8 +79,8 @@
                 VectorSCALE >::value_type >::value) );
         BOOST_ASSERT( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::gebal( job, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a), ilo,
                 ihi, traits::vector_storage(scale), info );
@@ -104,8 +100,8 @@
             integer_t& ihi, VectorSCALE& scale, integer_t& info ) {
         BOOST_ASSERT( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::gebal( job, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a), ilo,
                 ihi, traits::vector_storage(scale), info );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gebrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,13 +43,11 @@
         float* work, const integer_t lwork, integer_t& info ) {
     LAPACK_SGEBRD( &m, &n, a, &lda, d, e, tauq, taup, work, &lwork, &info );
 }
-
 inline void gebrd( const integer_t m, const integer_t n, double* a,
         const integer_t lda, double* d, double* e, double* tauq, double* taup,
         double* work, const integer_t lwork, integer_t& info ) {
     LAPACK_DGEBRD( &m, &n, a, &lda, d, e, tauq, taup, work, &lwork, &info );
 }
-
 inline void gebrd( const integer_t m, const integer_t n, traits::complex_f* a,
         const integer_t lda, float* d, float* e, traits::complex_f* tauq,
         traits::complex_f* taup, traits::complex_f* work,
@@ -58,7 +56,6 @@
             traits::complex_ptr(tauq), traits::complex_ptr(taup),
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void gebrd( const integer_t m, const integer_t n, traits::complex_d* a,
         const integer_t lda, double* d, double* e, traits::complex_d* tauq,
         traits::complex_d* taup, traits::complex_d* work,
@@ -67,7 +64,6 @@
             traits::complex_ptr(tauq), traits::complex_ptr(taup),
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -101,16 +97,16 @@
                 VectorTAUP >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(d) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(d) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::vector_size(tauq) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::vector_size(tauq) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::vector_size(taup) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::vector_size(taup) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_rows(a),
@@ -179,16 +175,16 @@
                 VectorTAUP >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(d) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(d) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::vector_size(tauq) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::vector_size(tauq) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::vector_size(taup) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::vector_size(taup) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_rows(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gecon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,13 +42,11 @@
         integer_t* iwork, integer_t& info ) {
     LAPACK_SGECON( &norm, &n, a, &lda, &anorm, &rcond, work, iwork, &info );
 }
-
 inline void gecon( const char norm, const integer_t n, const double* a,
         const integer_t lda, const double anorm, double& rcond, double* work,
         integer_t* iwork, integer_t& info ) {
     LAPACK_DGECON( &norm, &n, a, &lda, &anorm, &rcond, work, iwork, &info );
 }
-
 inline void gecon( const char norm, const integer_t n,
         const traits::complex_f* a, const integer_t lda, const float anorm,
         float& rcond, traits::complex_f* work, float* rwork,
@@ -56,7 +54,6 @@
     LAPACK_CGECON( &norm, &n, traits::complex_ptr(a), &lda, &anorm, &rcond,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gecon( const char norm, const integer_t n,
         const traits::complex_d* a, const integer_t lda, const double anorm,
         double& rcond, traits::complex_d* work, double* rwork,
@@ -64,7 +61,6 @@
     LAPACK_ZGECON( &norm, &n, traits::complex_ptr(a), &lda, &anorm, &rcond,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -85,8 +81,8 @@
             detail::workspace2< WORK, IWORK > work ) {
         BOOST_ASSERT( norm == '1' || norm == 'O' || norm == 'I' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=
@@ -142,8 +138,8 @@
             detail::workspace2< WORK, RWORK > work ) {
         BOOST_ASSERT( norm == '1' || norm == 'O' || norm == 'I' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geequ.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,27 +40,23 @@
         float& amax, integer_t& info ) {
     LAPACK_SGEEQU( &m, &n, a, &lda, r, c, &rowcnd, &colcnd, &amax, &info );
 }
-
 inline void geequ( const integer_t m, const integer_t n, const double* a,
         const integer_t lda, double* r, double* c, double& rowcnd,
         double& colcnd, double& amax, integer_t& info ) {
     LAPACK_DGEEQU( &m, &n, a, &lda, r, c, &rowcnd, &colcnd, &amax, &info );
 }
-
 inline void geequ( const integer_t m, const integer_t n,
         const traits::complex_f* a, const integer_t lda, float* r, float* c,
         float& rowcnd, float& colcnd, float& amax, integer_t& info ) {
     LAPACK_CGEEQU( &m, &n, traits::complex_ptr(a), &lda, r, c, &rowcnd,
             &colcnd, &amax, &info );
 }
-
 inline void geequ( const integer_t m, const integer_t n,
         const traits::complex_d* a, const integer_t lda, double* r, double* c,
         double& rowcnd, double& colcnd, double& amax, integer_t& info ) {
     LAPACK_ZGEEQU( &m, &n, traits::complex_ptr(a), &lda, r, c, &rowcnd,
             &colcnd, &amax, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -87,8 +83,8 @@
                 VectorC >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
         detail::geequ( traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(r),
@@ -113,8 +109,8 @@
                 VectorC >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
         detail::geequ( traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(r),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gehrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,13 +43,11 @@
         float* work, const integer_t lwork, integer_t& info ) {
     LAPACK_SGEHRD( &n, &ilo, &ihi, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void gehrd( const integer_t n, const integer_t ilo,
         const integer_t ihi, double* a, const integer_t lda, double* tau,
         double* work, const integer_t lwork, integer_t& info ) {
     LAPACK_DGEHRD( &n, &ilo, &ihi, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void gehrd( const integer_t n, const integer_t ilo,
         const integer_t ihi, traits::complex_f* a, const integer_t lda,
         traits::complex_f* tau, traits::complex_f* work,
@@ -58,7 +56,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void gehrd( const integer_t n, const integer_t ilo,
         const integer_t ihi, traits::complex_d* a, const integer_t lda,
         traits::complex_d* tau, traits::complex_d* work,
@@ -67,7 +64,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -90,8 +86,8 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(tau) >=
                 traits::matrix_num_columns(a)-1 );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -146,8 +142,8 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(tau) >=
                 traits::matrix_num_columns(a)-1 );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gelqf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,13 +43,11 @@
         integer_t& info ) {
     LAPACK_SGELQF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void gelqf( const integer_t m, const integer_t n, double* a,
         const integer_t lda, double* tau, double* work, const integer_t lwork,
         integer_t& info ) {
     LAPACK_DGELQF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void gelqf( const integer_t m, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* tau, traits::complex_f* work,
         const integer_t lwork, integer_t& info ) {
@@ -57,7 +55,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void gelqf( const integer_t m, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* tau, traits::complex_d* work,
         const integer_t lwork, integer_t& info ) {
@@ -65,7 +62,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -88,10 +84,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_rows(a) ));
@@ -146,10 +142,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_rows(a) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqlf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,13 +43,11 @@
         integer_t& info ) {
     LAPACK_SGEQLF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void geqlf( const integer_t m, const integer_t n, double* a,
         const integer_t lda, double* tau, double* work, const integer_t lwork,
         integer_t& info ) {
     LAPACK_DGEQLF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void geqlf( const integer_t m, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* tau, traits::complex_f* work,
         const integer_t lwork, integer_t& info ) {
@@ -57,7 +55,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void geqlf( const integer_t m, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* tau, traits::complex_d* work,
         const integer_t lwork, integer_t& info ) {
@@ -65,7 +62,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -88,10 +84,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
@@ -146,10 +142,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqp3.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,13 +43,11 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SGEQP3( &m, &n, a, &lda, jpvt, tau, work, &lwork, &info );
 }
-
 inline void geqp3( const integer_t m, const integer_t n, double* a,
         const integer_t lda, integer_t* jpvt, double* tau, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DGEQP3( &m, &n, a, &lda, jpvt, tau, work, &lwork, &info );
 }
-
 inline void geqp3( const integer_t m, const integer_t n, traits::complex_f* a,
         const integer_t lda, integer_t* jpvt, traits::complex_f* tau,
         traits::complex_f* work, const integer_t lwork, float* rwork,
@@ -58,7 +56,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             rwork, &info );
 }
-
 inline void geqp3( const integer_t m, const integer_t n, traits::complex_d* a,
         const integer_t lda, integer_t* jpvt, traits::complex_d* tau,
         traits::complex_d* work, const integer_t lwork, double* rwork,
@@ -67,7 +64,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -91,10 +87,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
@@ -151,10 +147,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/geqrf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,13 +43,11 @@
         integer_t& info ) {
     LAPACK_SGEQRF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void geqrf( const integer_t m, const integer_t n, double* a,
         const integer_t lda, double* tau, double* work, const integer_t lwork,
         integer_t& info ) {
     LAPACK_DGEQRF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void geqrf( const integer_t m, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* tau, traits::complex_f* work,
         const integer_t lwork, integer_t& info ) {
@@ -57,7 +55,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void geqrf( const integer_t m, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* tau, traits::complex_d* work,
         const integer_t lwork, integer_t& info ) {
@@ -65,7 +62,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -88,10 +84,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
@@ -146,10 +142,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGERFS( &trans, &n, &nrhs, a, &lda, af, &ldaf, ipiv, b, &ldb, x,
             &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void gerfs( const char trans, const integer_t n, const integer_t nrhs,
         const double* a, const integer_t lda, const double* af,
         const integer_t ldaf, const integer_t* ipiv, const double* b,
@@ -54,7 +53,6 @@
     LAPACK_DGERFS( &trans, &n, &nrhs, a, &lda, af, &ldaf, ipiv, b, &ldb, x,
             &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void gerfs( const char trans, const integer_t n, const integer_t nrhs,
         const traits::complex_f* a, const integer_t lda,
         const traits::complex_f* af, const integer_t ldaf,
@@ -67,7 +65,6 @@
             &ldb, traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gerfs( const char trans, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda,
         const traits::complex_d* af, const integer_t ldaf,
@@ -80,7 +77,6 @@
             &ldb, traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -120,16 +116,16 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -214,16 +210,16 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gerqf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,13 +43,11 @@
         integer_t& info ) {
     LAPACK_SGERQF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void gerqf( const integer_t m, const integer_t n, double* a,
         const integer_t lda, double* tau, double* work, const integer_t lwork,
         integer_t& info ) {
     LAPACK_DGERQF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void gerqf( const integer_t m, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* tau, traits::complex_f* work,
         const integer_t lwork, integer_t& info ) {
@@ -57,7 +55,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void gerqf( const integer_t m, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* tau, traits::complex_d* work,
         const integer_t lwork, integer_t& info ) {
@@ -65,7 +62,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -88,10 +84,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
@@ -146,10 +142,10 @@
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(tau) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,22 +36,18 @@
         const integer_t lda, integer_t* ipiv, integer_t& info ) {
     LAPACK_SGETRF( &m, &n, a, &lda, ipiv, &info );
 }
-
 inline void getrf( const integer_t m, const integer_t n, double* a,
         const integer_t lda, integer_t* ipiv, integer_t& info ) {
     LAPACK_DGETRF( &m, &n, a, &lda, ipiv, &info );
 }
-
 inline void getrf( const integer_t m, const integer_t n, traits::complex_f* a,
         const integer_t lda, integer_t* ipiv, integer_t& info ) {
     LAPACK_CGETRF( &m, &n, traits::complex_ptr(a), &lda, ipiv, &info );
 }
-
 inline void getrf( const integer_t m, const integer_t n, traits::complex_d* a,
         const integer_t lda, integer_t* ipiv, integer_t& info ) {
     LAPACK_ZGETRF( &m, &n, traits::complex_ptr(a), &lda, ipiv, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -66,10 +62,10 @@
     static void invoke( MatrixA& a, VectorIPIV& ipiv, integer_t& info ) {
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(ipiv) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(ipiv) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         detail::getrf( traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a), traits::matrix_storage(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getri.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,27 +43,23 @@
         integer_t& info ) {
     LAPACK_SGETRI( &n, a, &lda, ipiv, work, &lwork, &info );
 }
-
 inline void getri( const integer_t n, double* a, const integer_t lda,
         const integer_t* ipiv, double* work, const integer_t lwork,
         integer_t& info ) {
     LAPACK_DGETRI( &n, a, &lda, ipiv, work, &lwork, &info );
 }
-
 inline void getri( const integer_t n, traits::complex_f* a,
         const integer_t lda, const integer_t* ipiv, traits::complex_f* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_CGETRI( &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void getri( const integer_t n, traits::complex_d* a,
         const integer_t lda, const integer_t* ipiv, traits::complex_d* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_ZGETRI( &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -82,8 +78,8 @@
     static void invoke( MatrixA& a, const VectorIPIV& ipiv, integer_t& info,
             detail::workspace1< WORK > work ) {
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -134,8 +130,8 @@
     static void invoke( MatrixA& a, const VectorIPIV& ipiv, integer_t& info,
             detail::workspace1< WORK > work ) {
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/getrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,13 +37,11 @@
         const integer_t ldb, integer_t& info ) {
     LAPACK_SGETRS( &trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info );
 }
-
 inline void getrs( const char trans, const integer_t n, const integer_t nrhs,
         const double* a, const integer_t lda, const integer_t* ipiv,
         double* b, const integer_t ldb, integer_t& info ) {
     LAPACK_DGETRS( &trans, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info );
 }
-
 inline void getrs( const char trans, const integer_t n, const integer_t nrhs,
         const traits::complex_f* a, const integer_t lda,
         const integer_t* ipiv, traits::complex_f* b, const integer_t ldb,
@@ -51,7 +49,6 @@
     LAPACK_CGETRS( &trans, &n, &nrhs, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void getrs( const char trans, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda,
         const integer_t* ipiv, traits::complex_d* b, const integer_t ldb,
@@ -59,7 +56,6 @@
     LAPACK_ZGETRS( &trans, &n, &nrhs, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -79,12 +75,12 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::getrs( trans, traits::matrix_num_columns(a),
                 traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(ipiv),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbak.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SGGBAK( &job, &side, &n, &ilo, &ihi, lscale, rscale, &m, v, &ldv,
             &info );
 }
-
 inline void ggbak( const char job, const char side, const integer_t n,
         const integer_t ilo, const integer_t ihi, const double* lscale,
         const double* rscale, const integer_t m, double* v,
@@ -50,7 +49,6 @@
     LAPACK_DGGBAK( &job, &side, &n, &ilo, &ihi, lscale, rscale, &m, v, &ldv,
             &info );
 }
-
 inline void ggbak( const char job, const char side, const integer_t n,
         const integer_t ilo, const integer_t ihi, const float* lscale,
         const float* rscale, const integer_t m, traits::complex_f* v,
@@ -58,7 +56,6 @@
     LAPACK_CGGBAK( &job, &side, &n, &ilo, &ihi, lscale, rscale, &m,
             traits::complex_ptr(v), &ldv, &info );
 }
-
 inline void ggbak( const char job, const char side, const integer_t n,
         const integer_t ilo, const integer_t ihi, const double* lscale,
         const double* rscale, const integer_t m, traits::complex_d* v,
@@ -66,7 +63,6 @@
     LAPACK_ZGGBAK( &job, &side, &n, &ilo, &ihi, lscale, rscale, &m,
             traits::complex_ptr(v), &ldv, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -99,8 +95,8 @@
         BOOST_ASSERT( traits::vector_size(rscale) >=
                 traits::matrix_num_rows(v) );
         BOOST_ASSERT( traits::matrix_num_columns(v) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(v) >= std::max(1,
- traits::matrix_num_rows(v)) );
+ BOOST_ASSERT( traits::leading_dimension(v) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(v)) );
         detail::ggbak( job, side, traits::matrix_num_rows(v), ilo, ihi,
                 traits::vector_storage(lscale),
                 traits::vector_storage(rscale), traits::matrix_num_columns(v),
@@ -132,8 +128,8 @@
         BOOST_ASSERT( traits::vector_size(rscale) >=
                 traits::matrix_num_rows(v) );
         BOOST_ASSERT( traits::matrix_num_columns(v) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(v) >= std::max(1,
- traits::matrix_num_rows(v)) );
+ BOOST_ASSERT( traits::leading_dimension(v) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(v)) );
         detail::ggbak( job, side, traits::matrix_num_rows(v), ilo, ihi,
                 traits::vector_storage(lscale),
                 traits::vector_storage(rscale), traits::matrix_num_columns(v),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggbal.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SGGBAL( &job, &n, a, &lda, b, &ldb, &ilo, &ihi, lscale, rscale,
             work, &info );
 }
-
 inline void ggbal( const char job, const integer_t n, double* a,
         const integer_t lda, double* b, const integer_t ldb, integer_t& ilo,
         integer_t& ihi, double* lscale, double* rscale, double* work,
@@ -52,7 +51,6 @@
     LAPACK_DGGBAL( &job, &n, a, &lda, b, &ldb, &ilo, &ihi, lscale, rscale,
             work, &info );
 }
-
 inline void ggbal( const char job, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* b, const integer_t ldb,
         integer_t& ilo, integer_t& ihi, float* lscale, float* rscale,
@@ -61,7 +59,6 @@
             traits::complex_ptr(b), &ldb, &ilo, &ihi, lscale, rscale, work,
             &info );
 }
-
 inline void ggbal( const char job, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* b, const integer_t ldb,
         integer_t& ilo, integer_t& ihi, double* lscale, double* rscale,
@@ -70,7 +67,6 @@
             traits::complex_ptr(b), &ldb, &ilo, &ihi, lscale, rscale, work,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -102,8 +98,10 @@
                 VectorRSCALE >::value_type >::value) );
         BOOST_ASSERT( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         detail::ggbal( job, n, traits::matrix_storage(a),
@@ -163,8 +161,10 @@
                 MatrixB >::value_type >::value) );
         BOOST_ASSERT( job == 'N' || job == 'P' || job == 'S' || job == 'B' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         detail::ggbal( job, n, traits::matrix_storage(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gghrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,7 +39,6 @@
     LAPACK_SGGHRD( &compq, &compz, &n, &ilo, &ihi, a, &lda, b, &ldb, q, &ldq,
             z, &ldz, &info );
 }
-
 inline void gghrd( const char compq, const char compz, const integer_t n,
         const integer_t ilo, const integer_t ihi, double* a,
         const integer_t lda, double* b, const integer_t ldb, double* q,
@@ -48,7 +47,6 @@
     LAPACK_DGGHRD( &compq, &compz, &n, &ilo, &ihi, a, &lda, b, &ldb, q, &ldq,
             z, &ldz, &info );
 }
-
 inline void gghrd( const char compq, const char compz, const integer_t n,
         const integer_t ilo, const integer_t ihi, traits::complex_f* a,
         const integer_t lda, traits::complex_f* b, const integer_t ldb,
@@ -58,7 +56,6 @@
             &lda, traits::complex_ptr(b), &ldb, traits::complex_ptr(q), &ldq,
             traits::complex_ptr(z), &ldz, &info );
 }
-
 inline void gghrd( const char compq, const char compz, const integer_t n,
         const integer_t ilo, const integer_t ihi, traits::complex_d* a,
         const integer_t lda, traits::complex_d* b, const integer_t ldb,
@@ -68,7 +65,6 @@
             &lda, traits::complex_ptr(b), &ldb, traits::complex_ptr(q), &ldq,
             traits::complex_ptr(z), &ldz, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -96,8 +92,10 @@
         BOOST_ASSERT( compq == 'N' || compq == 'I' || compq == 'V' );
         BOOST_ASSERT( compz == 'N' || compz == 'I' || compz == 'V' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::gghrd( compq, compz, n, ilo, traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggqrf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGGQRF( &n, &m, &p, a, &lda, taua, b, &ldb, taub, work, &lwork,
             &info );
 }
-
 inline void ggqrf( const integer_t n, const integer_t m, const integer_t p,
         double* a, const integer_t lda, double* taua, double* b,
         const integer_t ldb, double* taub, double* work,
@@ -53,7 +52,6 @@
     LAPACK_DGGQRF( &n, &m, &p, a, &lda, taua, b, &ldb, taub, work, &lwork,
             &info );
 }
-
 inline void ggqrf( const integer_t n, const integer_t m, const integer_t p,
         traits::complex_f* a, const integer_t lda, traits::complex_f* taua,
         traits::complex_f* b, const integer_t ldb, traits::complex_f* taub,
@@ -63,7 +61,6 @@
             traits::complex_ptr(taub), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void ggqrf( const integer_t n, const integer_t m, const integer_t p,
         traits::complex_d* a, const integer_t lda, traits::complex_d* taua,
         traits::complex_d* b, const integer_t ldb, traits::complex_d* taub,
@@ -73,7 +70,6 @@
             traits::complex_ptr(taub), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -105,15 +101,15 @@
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(b)) );
- BOOST_ASSERT( traits::vector_size(taua) >=
- std::min(traits::matrix_num_rows(b),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::vector_size(taua) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(b),
                 traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
- BOOST_ASSERT( traits::vector_size(taub) >=
- std::min(traits::matrix_num_rows(b),
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::vector_size(taub) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(b),
                 traits::matrix_num_columns(b)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
@@ -183,15 +179,15 @@
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(b)) );
- BOOST_ASSERT( traits::vector_size(taua) >=
- std::min(traits::matrix_num_rows(b),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::vector_size(taua) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(b),
                 traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
- BOOST_ASSERT( traits::vector_size(taub) >=
- std::min(traits::matrix_num_rows(b),
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::vector_size(taub) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(b),
                 traits::matrix_num_columns(b)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggrqf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGGRQF( &m, &p, &n, a, &lda, taua, b, &ldb, taub, work, &lwork,
             &info );
 }
-
 inline void ggrqf( const integer_t m, const integer_t p, const integer_t n,
         double* a, const integer_t lda, double* taua, double* b,
         const integer_t ldb, double* taub, double* work,
@@ -53,7 +52,6 @@
     LAPACK_DGGRQF( &m, &p, &n, a, &lda, taua, b, &ldb, taub, work, &lwork,
             &info );
 }
-
 inline void ggrqf( const integer_t m, const integer_t p, const integer_t n,
         traits::complex_f* a, const integer_t lda, traits::complex_f* taua,
         traits::complex_f* b, const integer_t ldb, traits::complex_f* taub,
@@ -63,7 +61,6 @@
             traits::complex_ptr(taub), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void ggrqf( const integer_t m, const integer_t p, const integer_t n,
         traits::complex_d* a, const integer_t lda, traits::complex_d* taua,
         traits::complex_d* b, const integer_t ldb, traits::complex_d* taub,
@@ -73,7 +70,6 @@
             traits::complex_ptr(taub), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -105,15 +101,15 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(taua) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(taua) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(b)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
- BOOST_ASSERT( traits::vector_size(taub) >=
- std::min(traits::matrix_num_rows(b),
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::vector_size(taub) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(b),
                 traits::matrix_num_columns(b)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
@@ -183,15 +179,15 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(taua) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(taua) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(b)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
- BOOST_ASSERT( traits::vector_size(taub) >=
- std::min(traits::matrix_num_rows(b),
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::vector_size(taub) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(b),
                 traits::matrix_num_columns(b)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ggsvp.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             &tolb, &k, &l, u, &ldu, v, &ldv, q, &ldq, iwork, tau, work,
             &info );
 }
-
 inline void ggsvp( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t p, const integer_t n, double* a,
         const integer_t lda, double* b, const integer_t ldb,
@@ -60,7 +59,6 @@
             &tolb, &k, &l, u, &ldu, v, &ldv, q, &ldq, iwork, tau, work,
             &info );
 }
-
 inline void ggsvp( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t p, const integer_t n,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
@@ -75,7 +73,6 @@
             traits::complex_ptr(q), &ldq, iwork, rwork,
             traits::complex_ptr(tau), traits::complex_ptr(work), &info );
 }
-
 inline void ggsvp( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t p, const integer_t n,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
@@ -90,7 +87,6 @@
             traits::complex_ptr(q), &ldq, iwork, rwork,
             traits::complex_ptr(tau), traits::complex_ptr(work), &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -131,10 +127,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=
                 min_size_iwork( traits::matrix_num_columns(b) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -194,7 +190,7 @@
 
     static integer_t min_size_work( const integer_t n, const integer_t m,
             const integer_t p ) {
- return std::max(3*n,std::max(m,p));
+ return std::max< std::ptrdiff_t >(3*n,std::max< std::ptrdiff_t >(m,p));
     }
 };
 
@@ -232,10 +228,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=
                 min_size_iwork( traits::matrix_num_columns(b) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -304,7 +300,7 @@
 
     static integer_t min_size_work( const integer_t n, const integer_t m,
             const integer_t p ) {
- return std::max(3*n,std::max(m,p));
+ return std::max< std::ptrdiff_t >(3*n,std::max< std::ptrdiff_t >(m,p));
     }
 };
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gtrfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SGTRFS( &trans, &n, &nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b,
             &ldb, x, &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void gtrfs( const char trans, const integer_t n, const integer_t nrhs,
         const double* dl, const double* d, const double* du,
         const double* dlf, const double* df, const double* duf,
@@ -56,7 +55,6 @@
     LAPACK_DGTRFS( &trans, &n, &nrhs, dl, d, du, dlf, df, duf, du2, ipiv, b,
             &ldb, x, &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void gtrfs( const char trans, const integer_t n, const integer_t nrhs,
         const traits::complex_f* dl, const traits::complex_f* d,
         const traits::complex_f* du, const traits::complex_f* dlf,
@@ -72,7 +70,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx, ferr,
             berr, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gtrfs( const char trans, const integer_t n, const integer_t nrhs,
         const traits::complex_d* dl, const traits::complex_d* d,
         const traits::complex_d* du, const traits::complex_d* dlf,
@@ -88,7 +85,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx, ferr,
             berr, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -155,8 +151,10 @@
         BOOST_ASSERT( traits::vector_size(duf) >= n-1 );
         BOOST_ASSERT( traits::vector_size(du2) >= n-2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -273,8 +271,10 @@
         BOOST_ASSERT( traits::vector_size(duf) >= n-1 );
         BOOST_ASSERT( traits::vector_size(du2) >= n-2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/gttrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -38,14 +38,12 @@
         integer_t& info ) {
     LAPACK_SGTTRS( &trans, &n, &nrhs, dl, d, du, du2, ipiv, b, &ldb, &info );
 }
-
 inline void gttrs( const char trans, const integer_t n, const integer_t nrhs,
         const double* dl, const double* d, const double* du,
         const double* du2, const integer_t* ipiv, double* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_DGTTRS( &trans, &n, &nrhs, dl, d, du, du2, ipiv, b, &ldb, &info );
 }
-
 inline void gttrs( const char trans, const integer_t n, const integer_t nrhs,
         const traits::complex_f* dl, const traits::complex_f* d,
         const traits::complex_f* du, const traits::complex_f* du2,
@@ -56,7 +54,6 @@
             traits::complex_ptr(du2), ipiv, traits::complex_ptr(b), &ldb,
             &info );
 }
-
 inline void gttrs( const char trans, const integer_t n, const integer_t nrhs,
         const traits::complex_d* dl, const traits::complex_d* d,
         const traits::complex_d* du, const traits::complex_d* du2,
@@ -67,7 +64,6 @@
             traits::complex_ptr(du2), ipiv, traits::complex_ptr(b), &ldb,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -103,7 +99,8 @@
         BOOST_ASSERT( traits::vector_size(du) >= n-1 );
         BOOST_ASSERT( traits::vector_size(du2) >= n-2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::gttrs( trans, n, traits::matrix_num_columns(b),
                 traits::vector_storage(dl), traits::vector_storage(d),
                 traits::vector_storage(du), traits::vector_storage(du2),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbgst.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(bb), &ldbb, traits::complex_ptr(x), &ldx,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void hbgst( const char vect, const char uplo, const integer_t n,
         const integer_t ka, const integer_t kb, traits::complex_d* ab,
         const integer_t ldab, const traits::complex_d* bb,
@@ -53,7 +52,6 @@
             traits::complex_ptr(bb), &ldbb, traits::complex_ptr(x), &ldx,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hbtrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
             e, traits::complex_ptr(q), &ldq, traits::complex_ptr(work),
             &info );
 }
-
 inline void hbtrd( const char vect, const char uplo, const integer_t n,
         const integer_t kd, traits::complex_d* ab, const integer_t ldab,
         double* d, double* e, traits::complex_d* q, const integer_t ldq,
@@ -51,7 +50,6 @@
             e, traits::complex_ptr(q), &ldq, traits::complex_ptr(work),
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hecon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,7 +41,6 @@
     LAPACK_CHECON( &uplo, &n, traits::complex_ptr(a), &lda, ipiv, &anorm,
             &rcond, traits::complex_ptr(work), &info );
 }
-
 inline void hecon( const char uplo, const integer_t n,
         const traits::complex_d* a, const integer_t lda,
         const integer_t* ipiv, const double anorm, double& rcond,
@@ -49,7 +48,6 @@
     LAPACK_ZHECON( &uplo, &n, traits::complex_ptr(a), &lda, ipiv, &anorm,
             &rcond, traits::complex_ptr(work), &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -66,8 +64,8 @@
             integer_t& info, detail::workspace1< WORK > work ) {
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hegst.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -38,14 +38,12 @@
     LAPACK_CHEGST( &itype, &uplo, &n, traits::complex_ptr(a), &lda,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void hegst( const integer_t itype, const char uplo, const integer_t n,
         traits::complex_d* a, const integer_t lda, const traits::complex_d* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_ZHEGST( &itype, &uplo, &n, traits::complex_ptr(a), &lda,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -65,8 +63,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::hegst( itype, traits::matrix_uplo_tag(a), n,
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/herfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
             &ldb, traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void herfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda,
         const traits::complex_d* af, const integer_t ldaf,
@@ -59,7 +58,6 @@
             &ldb, traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -93,16 +91,16 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void hetrd( const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, double* d, double* e, traits::complex_d* tau,
         traits::complex_d* work, const integer_t lwork, integer_t& info ) {
@@ -50,7 +49,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -74,14 +72,14 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(d) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(tau) >=
                 traits::matrix_num_columns(a)-1 );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
- min_size_work( ));
+ min_size_work());
         detail::hetrd( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(d),
@@ -95,7 +93,7 @@
             typename VectorTAU >
     static void invoke( MatrixA& a, VectorD& d, VectorE& e, VectorTAU& tau,
             integer_t& info, minimal_workspace work ) {
- traits::detail::array< value_type > tmp_work( min_size_work( ) );
+ traits::detail::array< value_type > tmp_work( min_size_work() );
         invoke( a, d, e, tau, info, workspace( tmp_work ) );
     }
 
@@ -115,7 +113,7 @@
         invoke( a, d, e, tau, info, workspace( tmp_work ) );
     }
 
- static integer_t min_size_work( ) {
+ static integer_t min_size_work() {
         return 1;
     }
 };

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,14 +40,12 @@
     LAPACK_CHETRF( &uplo, &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void hetrf( const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, integer_t* ipiv, traits::complex_d* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_ZHETRF( &uplo, &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -64,10 +62,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
- min_size_work( ));
+ min_size_work());
         detail::hetrf( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(ipiv),
@@ -79,7 +77,7 @@
     template< typename MatrixA, typename VectorIPIV >
     static void invoke( MatrixA& a, VectorIPIV& ipiv, integer_t& info,
             minimal_workspace work ) {
- traits::detail::array< value_type > tmp_work( min_size_work( ) );
+ traits::detail::array< value_type > tmp_work( min_size_work() );
         invoke( a, ipiv, info, workspace( tmp_work ) );
     }
 
@@ -90,7 +88,7 @@
         invoke( a, ipiv, info, minimal_workspace() );
     }
 
- static integer_t min_size_work( ) {
+ static integer_t min_size_work() {
         return 1;
     }
 };

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetri.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,14 +40,12 @@
     LAPACK_CHETRI( &uplo, &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &info );
 }
-
 inline void hetri( const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, const integer_t* ipiv, traits::complex_d* work,
         integer_t& info ) {
     LAPACK_ZHETRI( &uplo, &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -63,8 +61,8 @@
             integer_t& info, detail::workspace1< WORK > work ) {
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hetrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,7 +39,6 @@
     LAPACK_CHETRS( &uplo, &n, &nrhs, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void hetrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda,
         const integer_t* ipiv, traits::complex_d* b, const integer_t ldb,
@@ -47,7 +46,6 @@
     LAPACK_ZHETRS( &uplo, &n, &nrhs, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,12 +65,12 @@
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::hetrs( uplo, traits::matrix_num_columns(a),
                 traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(ipiv),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hgeqz.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -47,7 +47,6 @@
     LAPACK_SHGEQZ( &job, &compq, &compz, &n, &ilo, &ihi, h, &ldh, t, &ldt,
             alphar, alphai, beta, q, &ldq, z, &ldz, work, &lwork, &info );
 }
-
 inline void hgeqz( const char job, const char compq, const char compz,
         const integer_t n, const integer_t ilo, const integer_t ihi,
         double* h, const integer_t ldh, double* t, const integer_t ldt,
@@ -57,7 +56,6 @@
     LAPACK_DHGEQZ( &job, &compq, &compz, &n, &ilo, &ihi, h, &ldh, t, &ldt,
             alphar, alphai, beta, q, &ldq, z, &ldz, work, &lwork, &info );
 }
-
 inline void hgeqz( const char job, const char compq, const char compz,
         const integer_t n, const integer_t ilo, const integer_t ihi,
         traits::complex_f* h, const integer_t ldh, traits::complex_f* t,
@@ -71,7 +69,6 @@
             traits::complex_ptr(q), &ldq, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 inline void hgeqz( const char job, const char compq, const char compz,
         const integer_t n, const integer_t ilo, const integer_t ihi,
         traits::complex_d* h, const integer_t ldh, traits::complex_d* t,
@@ -85,7 +82,6 @@
             traits::complex_ptr(q), &ldq, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hprfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void hprfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* ap, const traits::complex_d* afp,
         const integer_t* ipiv, const traits::complex_d* b,
@@ -57,7 +56,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -93,8 +91,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::vector_size(afp) >= n*(n+1)/2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hptrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -38,14 +38,12 @@
     LAPACK_CHPTRS( &uplo, &n, &nrhs, traits::complex_ptr(ap), ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void hptrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* ap, const integer_t* ipiv,
         traits::complex_d* b, const integer_t ldb, integer_t& info ) {
     LAPACK_ZHPTRS( &uplo, &n, &nrhs, traits::complex_ptr(ap), ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -68,7 +66,8 @@
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::vector_size(ap) >= n*(n+1)/2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::hptrs( uplo, n, traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hsein.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SHSEIN( &side, &eigsrc, &initv, select, &n, h, &ldh, wr, wi, vl,
             &ldvl, vr, &ldvr, &mm, &m, work, ifaill, ifailr, &info );
 }
-
 inline void hsein( const char side, const char eigsrc, const char initv,
         logical_t* select, const integer_t n, const double* h,
         const integer_t ldh, double* wr, const double* wi, double* vl,
@@ -56,7 +55,6 @@
     LAPACK_DHSEIN( &side, &eigsrc, &initv, select, &n, h, &ldh, wr, wi, vl,
             &ldvl, vr, &ldvr, &mm, &m, work, ifaill, ifailr, &info );
 }
-
 inline void hsein( const char side, const char eigsrc, const char initv,
         const logical_t* select, const integer_t n,
         const traits::complex_f* h, const integer_t ldh, traits::complex_f* w,
@@ -69,7 +67,6 @@
             traits::complex_ptr(vr), &ldvr, &mm, &m,
             traits::complex_ptr(work), rwork, ifaill, ifailr, &info );
 }
-
 inline void hsein( const char side, const char eigsrc, const char initv,
         const logical_t* select, const integer_t n,
         const traits::complex_d* h, const integer_t ldh, traits::complex_d* w,
@@ -82,7 +79,6 @@
             traits::complex_ptr(vr), &ldvr, &mm, &m,
             traits::complex_ptr(work), rwork, ifaill, ifailr, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -127,8 +123,8 @@
         BOOST_ASSERT( traits::vector_size(select) >=
                 traits::matrix_num_columns(h) );
         BOOST_ASSERT( traits::matrix_num_columns(h) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(h) >= std::max(1,
- traits::matrix_num_columns(h)) );
+ BOOST_ASSERT( traits::leading_dimension(h) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(h)) );
         BOOST_ASSERT( traits::vector_size(wr) >=
                 traits::matrix_num_columns(h) );
         BOOST_ASSERT( traits::vector_size(wi) >=
@@ -214,8 +210,8 @@
         BOOST_ASSERT( traits::vector_size(select) >=
                 traits::matrix_num_columns(h) );
         BOOST_ASSERT( traits::matrix_num_columns(h) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(h) >= std::max(1,
- traits::matrix_num_columns(h)) );
+ BOOST_ASSERT( traits::leading_dimension(h) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(h)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(h) );
         BOOST_ASSERT( mm >= m );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/hseqr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SHSEQR( &job, &compz, &n, &ilo, &ihi, h, &ldh, wr, wi, z, &ldz,
             work, &lwork, &info );
 }
-
 inline void hseqr( const char job, const char compz, const integer_t n,
         const integer_t ilo, const integer_t ihi, double* h,
         const integer_t ldh, double* wr, double* wi, double* z,
@@ -54,7 +53,6 @@
     LAPACK_DHSEQR( &job, &compz, &n, &ilo, &ihi, h, &ldh, wr, wi, z, &ldz,
             work, &lwork, &info );
 }
-
 inline void hseqr( const char job, const char compz, const integer_t n,
         const integer_t ilo, const integer_t ihi, traits::complex_f* h,
         const integer_t ldh, traits::complex_f* w, traits::complex_f* z,
@@ -64,7 +62,6 @@
             traits::complex_ptr(w), traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void hseqr( const char job, const char compz, const integer_t n,
         const integer_t ilo, const integer_t ihi, traits::complex_d* h,
         const integer_t ldh, traits::complex_d* w, traits::complex_d* z,
@@ -74,7 +71,6 @@
             traits::complex_ptr(w), traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/labrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,14 +41,12 @@
         const integer_t ldy ) {
     LAPACK_SLABRD( &m, &n, &nb, a, &lda, d, e, tauq, taup, x, &ldx, y, &ldy );
 }
-
 inline void labrd( const integer_t m, const integer_t n, const integer_t nb,
         double* a, const integer_t lda, double* d, double* e, double* tauq,
         double* taup, double* x, const integer_t ldx, double* y,
         const integer_t ldy ) {
     LAPACK_DLABRD( &m, &n, &nb, a, &lda, d, e, tauq, taup, x, &ldx, y, &ldy );
 }
-
 inline void labrd( const integer_t m, const integer_t n, const integer_t nb,
         traits::complex_f* a, const integer_t lda, float* d, float* e,
         traits::complex_f* tauq, traits::complex_f* taup,
@@ -58,7 +56,6 @@
             traits::complex_ptr(tauq), traits::complex_ptr(taup),
             traits::complex_ptr(x), &ldx, traits::complex_ptr(y), &ldy );
 }
-
 inline void labrd( const integer_t m, const integer_t n, const integer_t nb,
         traits::complex_d* a, const integer_t lda, double* d, double* e,
         traits::complex_d* tauq, traits::complex_d* taup,
@@ -68,7 +65,6 @@
             traits::complex_ptr(tauq), traits::complex_ptr(taup),
             traits::complex_ptr(x), &ldx, traits::complex_ptr(y), &ldy );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -106,8 +102,8 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixY >::value_type >::value) );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
         BOOST_ASSERT( traits::vector_size(d) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(e) >=
@@ -158,8 +154,8 @@
         BOOST_STATIC_ASSERT( (boost::is_same< typename traits::matrix_traits<
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixY >::value_type >::value) );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
         BOOST_ASSERT( traits::vector_size(d) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(e) >=
@@ -168,10 +164,10 @@
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(taup) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(y) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(y) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::labrd( traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a), traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/lacon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/lacon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/lacon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,24 +41,20 @@
         float& est, integer_t& kase ) {
     LAPACK_SLACON( &n, v, x, isgn, &est, &kase );
 }
-
 inline void lacon( const integer_t n, double* v, double* x, integer_t* isgn,
         double& est, integer_t& kase ) {
     LAPACK_DLACON( &n, v, x, isgn, &est, &kase );
 }
-
 inline void lacon( const integer_t n, traits::complex_f* v,
         traits::complex_f* x, float& est, integer_t& kase ) {
     LAPACK_CLACON( &n, traits::complex_ptr(v), traits::complex_ptr(x), &est,
             &kase );
 }
-
 inline void lacon( const integer_t n, traits::complex_d* v,
         traits::complex_d* x, double& est, integer_t& kase ) {
     LAPACK_ZLACON( &n, traits::complex_ptr(v), traits::complex_ptr(x), &est,
             &kase );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/laebz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/laebz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/laebz.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
     LAPACK_SLAEBZ( &ijob, &nitmax, &n, &mmax, &minp, &nbmin, &abstol, &reltol,
             &pivmin, d, e, e2, nval, ab, c, &mout, nab, work, iwork, &info );
 }
-
 inline void laebz( const integer_t ijob, const integer_t nitmax,
         const integer_t n, const integer_t mmax, const integer_t minp,
         const integer_t nbmin, const double abstol, const double reltol,
@@ -54,7 +53,6 @@
     LAPACK_DLAEBZ( &ijob, &nitmax, &n, &mmax, &minp, &nbmin, &abstol, &reltol,
             &pivmin, d, e, e2, nval, ab, c, &mout, nab, work, iwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/larz.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,13 +42,11 @@
         const float tau, float* c, const integer_t ldc, float* work ) {
     LAPACK_SLARZ( &side, &m, &n, &l, v, &incv, &tau, c, &ldc, work );
 }
-
 inline void larz( const char side, const integer_t m, const integer_t n,
         const integer_t l, const double* v, const integer_t incv,
         const double tau, double* c, const integer_t ldc, double* work ) {
     LAPACK_DLARZ( &side, &m, &n, &l, v, &incv, &tau, c, &ldc, work );
 }
-
 inline void larz( const char side, const integer_t m, const integer_t n,
         const integer_t l, const traits::complex_f* v, const integer_t incv,
         const traits::complex_f tau, traits::complex_f* c,
@@ -57,7 +55,6 @@
             traits::complex_ptr(&tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work) );
 }
-
 inline void larz( const char side, const integer_t m, const integer_t n,
         const integer_t l, const traits::complex_d* v, const integer_t incv,
         const traits::complex_d tau, traits::complex_d* c,
@@ -66,7 +63,6 @@
             traits::complex_ptr(&tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work) );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -89,8 +85,8 @@
                 VectorV >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
         BOOST_ASSERT( side == 'L' || side == 'R' );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));
@@ -144,8 +140,8 @@
                 VectorV >::value_type, typename traits::matrix_traits<
                 MatrixC >::value_type >::value) );
         BOOST_ASSERT( side == 'L' || side == 'R' );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,27 +40,23 @@
         const integer_t ldw ) {
     LAPACK_SLATRD( &uplo, &n, &nb, a, &lda, e, tau, w, &ldw );
 }
-
 inline void latrd( const char uplo, const integer_t n, const integer_t nb,
         double* a, const integer_t lda, double* e, double* tau, double* w,
         const integer_t ldw ) {
     LAPACK_DLATRD( &uplo, &n, &nb, a, &lda, e, tau, w, &ldw );
 }
-
 inline void latrd( const char uplo, const integer_t n, const integer_t nb,
         traits::complex_f* a, const integer_t lda, float* e,
         traits::complex_f* tau, traits::complex_f* w, const integer_t ldw ) {
     LAPACK_CLATRD( &uplo, &n, &nb, traits::complex_ptr(a), &lda, e,
             traits::complex_ptr(tau), traits::complex_ptr(w), &ldw );
 }
-
 inline void latrd( const char uplo, const integer_t n, const integer_t nb,
         traits::complex_d* a, const integer_t lda, double* e,
         traits::complex_d* tau, traits::complex_d* w, const integer_t ldw ) {
     LAPACK_ZLATRD( &uplo, &n, &nb, traits::complex_ptr(a), &lda, e,
             traits::complex_ptr(tau), traits::complex_ptr(w), &ldw );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -91,8 +87,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::leading_dimension(a) >= (ERROR) );
- BOOST_ASSERT( traits::leading_dimension(w) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(w) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::latrd( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), nb, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(e),
@@ -121,10 +117,10 @@
                 MatrixW >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_uplo_tag(h) == 'U' ||
                 traits::matrix_uplo_tag(h) == 'L' );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(w) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(w) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::latrd( traits::matrix_uplo_tag(h),
                 traits::matrix_num_columns(a), nb, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(e),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SLATRS( &uplo, &trans, &diag, &normin, &n, a, &lda, x, &scale,
             cnorm, &info );
 }
-
 inline void latrs( const char uplo, const char trans, const char diag,
         const char normin, const integer_t n, const double* a,
         const integer_t lda, double* x, double& scale, double* cnorm,
@@ -50,7 +49,6 @@
     LAPACK_DLATRS( &uplo, &trans, &diag, &normin, &n, a, &lda, x, &scale,
             cnorm, &info );
 }
-
 inline void latrs( const char uplo, const char trans, const char diag,
         const char normin, const integer_t n, const traits::complex_f* a,
         const integer_t lda, traits::complex_f* x, float& scale, float* cnorm,
@@ -58,7 +56,6 @@
     LAPACK_CLATRS( &uplo, &trans, &diag, &normin, &n, traits::complex_ptr(a),
             &lda, traits::complex_ptr(x), &scale, cnorm, &info );
 }
-
 inline void latrs( const char uplo, const char trans, const char diag,
         const char normin, const integer_t n, const traits::complex_d* a,
         const integer_t lda, traits::complex_d* x, double& scale,
@@ -66,7 +63,6 @@
     LAPACK_ZLATRS( &uplo, &trans, &diag, &normin, &n, traits::complex_ptr(a),
             &lda, traits::complex_ptr(x), &scale, cnorm, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/latrz.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,26 +41,22 @@
         float* a, const integer_t lda, float* tau, float* work ) {
     LAPACK_SLATRZ( &m, &n, &l, a, &lda, tau, work );
 }
-
 inline void latrz( const integer_t m, const integer_t n, const integer_t l,
         double* a, const integer_t lda, double* tau, double* work ) {
     LAPACK_DLATRZ( &m, &n, &l, a, &lda, tau, work );
 }
-
 inline void latrz( const integer_t m, const integer_t n, const integer_t l,
         traits::complex_f* a, const integer_t lda, traits::complex_f* tau,
         traits::complex_f* work ) {
     LAPACK_CLATRZ( &m, &n, &l, traits::complex_ptr(a), &lda,
             traits::complex_ptr(tau), traits::complex_ptr(work) );
 }
-
 inline void latrz( const integer_t m, const integer_t n, const integer_t l,
         traits::complex_d* a, const integer_t lda, traits::complex_d* tau,
         traits::complex_d* work ) {
     LAPACK_ZLATRZ( &m, &n, &l, traits::complex_ptr(a), &lda,
             traits::complex_ptr(tau), traits::complex_ptr(work) );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -84,8 +80,8 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
         BOOST_ASSERT( traits::vector_size(tau) >= traits::matrix_num_rows(a) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_rows(a) ));
@@ -132,8 +128,8 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
         BOOST_ASSERT( traits::vector_size(tau) >= traits::matrix_num_rows(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_rows(a) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opgtr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,13 +39,11 @@
         integer_t& info ) {
     LAPACK_SOPGTR( &uplo, &n, ap, tau, q, &ldq, work, &info );
 }
-
 inline void opgtr( const char uplo, const integer_t n, const double* ap,
         const double* tau, double* q, const integer_t ldq, double* work,
         integer_t& info ) {
     LAPACK_DOPGTR( &uplo, &n, ap, tau, q, &ldq, work, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -74,8 +72,8 @@
                 1)/2 );
         BOOST_ASSERT( traits::vector_size(tau) >=
                 traits::matrix_num_columns(q)-1 );
- BOOST_ASSERT( traits::leading_dimension(q) >= std::max(1,
- traits::matrix_num_columns(q)) );
+ BOOST_ASSERT( traits::leading_dimension(q) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(q)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(q) ));
         detail::opgtr( uplo, traits::matrix_num_columns(q),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/opmtr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,7 +41,6 @@
     LAPACK_SOPMTR( &side, &uplo, &trans, &m, &n, ap, tau, c, &ldc, work,
             &info );
 }
-
 inline void opmtr( const char side, const char uplo, const char trans,
         const integer_t m, const integer_t n, const double* ap,
         const double* tau, double* c, const integer_t ldc, double* work,
@@ -49,7 +48,6 @@
     LAPACK_DOPMTR( &side, &uplo, &trans, &m, &n, ap, tau, c, &ldc, work,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -76,8 +74,8 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgbr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         float* work, const integer_t lwork, integer_t& info ) {
     LAPACK_SORGBR( &vect, &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void orgbr( const char vect, const integer_t m, const integer_t n,
         const integer_t k, double* a, const integer_t lda, const double* tau,
         double* work, const integer_t lwork, integer_t& info ) {
     LAPACK_DORGBR( &vect, &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,7 +65,8 @@
         BOOST_ASSERT( vect == 'Q' || vect == 'P' );
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( k >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( m, n ));
         detail::orgbr( vect, m, n, k, traits::matrix_storage(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orghr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,14 +40,12 @@
         float* work, const integer_t lwork, integer_t& info ) {
     LAPACK_SORGHR( &n, &ilo, &ihi, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void orghr( const integer_t n, const integer_t ilo,
         const integer_t ihi, double* a, const integer_t lda,
         const double* tau, double* work, const integer_t lwork,
         integer_t& info ) {
     LAPACK_DORGHR( &n, &ilo, &ihi, a, &lda, tau, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -66,7 +64,8 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(tau) >= n-1 );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orglq.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SORGLQ( &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void orglq( const integer_t m, const integer_t n, const integer_t k,
         double* a, const integer_t lda, const double* tau, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DORGLQ( &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,7 +65,8 @@
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= m );
         BOOST_ASSERT( k >= k );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( m ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgql.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SORGQL( &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void orgql( const integer_t m, const integer_t n, const integer_t k,
         double* a, const integer_t lda, const double* tau, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DORGQL( &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,7 +65,8 @@
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= n );
         BOOST_ASSERT( k >= k );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgqr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SORGQR( &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void orgqr( const integer_t m, const integer_t n, const integer_t k,
         double* a, const integer_t lda, const double* tau, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DORGQR( &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,7 +65,8 @@
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= n );
         BOOST_ASSERT( k >= k );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgrq.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SORGRQ( &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void orgrq( const integer_t m, const integer_t n, const integer_t k,
         double* a, const integer_t lda, const double* tau, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DORGRQ( &m, &n, &k, a, &lda, tau, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,7 +65,8 @@
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= m );
         BOOST_ASSERT( k >= k );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( m ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/orgtr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SORGTR( &uplo, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void orgtr( const char uplo, const integer_t n, double* a,
         const integer_t lda, const double* tau, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DORGTR( &uplo, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -66,7 +64,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(tau) >= n-1 );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormbr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
     LAPACK_SORMBR( &vect, &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc,
             work, &lwork, &info );
 }
-
 inline void ormbr( const char vect, const char side, const char trans,
         const integer_t m, const integer_t n, const integer_t k,
         const double* a, const integer_t lda, const double* tau, double* c,
@@ -52,7 +51,6 @@
     LAPACK_DORMBR( &vect, &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc,
             work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -80,9 +78,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
         BOOST_ASSERT( k >= 0 );
- BOOST_ASSERT( traits::vector_size(tau) >= std::min(?NQ,k) );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(?NQ,k) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormhr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
     LAPACK_SORMHR( &side, &trans, &m, &n, &ilo, &ihi, a, &lda, tau, c, &ldc,
             work, &lwork, &info );
 }
-
 inline void ormhr( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t ilo, const integer_t ihi,
         const double* a, const integer_t lda, const double* tau, double* c,
@@ -52,7 +51,6 @@
     LAPACK_DORMHR( &side, &trans, &m, &n, &ilo, &ihi, a, &lda, tau, c, &ldc,
             work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -79,8 +77,8 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormlq.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SORMLQ( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 inline void ormlq( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const double* a,
         const integer_t lda, const double* tau, double* c,
@@ -51,7 +50,6 @@
     LAPACK_DORMLQ( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -77,10 +75,11 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,k) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,k) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormql.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SORMQL( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 inline void ormql( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const double* a,
         const integer_t lda, const double* tau, double* c,
@@ -51,7 +50,6 @@
     LAPACK_DORMQL( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -78,8 +76,8 @@
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormqr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SORMQR( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 inline void ormqr( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const double* a,
         const integer_t lda, const double* tau, double* c,
@@ -51,7 +50,6 @@
     LAPACK_DORMQR( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -78,8 +76,8 @@
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrq.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SORMRQ( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 inline void ormrq( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const double* a,
         const integer_t lda, const double* tau, double* c,
@@ -51,7 +50,6 @@
     LAPACK_DORMRQ( &side, &trans, &m, &n, &k, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -77,10 +75,11 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,k) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,k) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormrz.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
     LAPACK_SORMRZ( &side, &trans, &m, &n, &k, &l, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 inline void ormrz( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const integer_t l,
         const double* a, const integer_t lda, const double* tau, double* c,
@@ -52,7 +51,6 @@
     LAPACK_DORMRZ( &side, &trans, &m, &n, &k, &l, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -78,10 +76,11 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,k) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,k) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         detail::ormrz( side, trans, traits::matrix_num_rows(c),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ormtr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SORMTR( &side, &uplo, &trans, &m, &n, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 inline void ormtr( const char side, const char uplo, const char trans,
         const integer_t m, const integer_t n, const double* a,
         const integer_t lda, const double* tau, double* c,
@@ -51,7 +50,6 @@
     LAPACK_DORMTR( &side, &uplo, &trans, &m, &n, a, &lda, tau, c, &ldc, work,
             &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -79,8 +77,8 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbcon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,14 +43,12 @@
     LAPACK_SPBCON( &uplo, &n, &kd, ab, &ldab, &anorm, &rcond, work, iwork,
             &info );
 }
-
 inline void pbcon( const char uplo, const integer_t n, const integer_t kd,
         const double* ab, const integer_t ldab, const double anorm,
         double& rcond, double* work, integer_t* iwork, integer_t& info ) {
     LAPACK_DPBCON( &uplo, &n, &kd, ab, &ldab, &anorm, &rcond, work, iwork,
             &info );
 }
-
 inline void pbcon( const char uplo, const integer_t n, const integer_t kd,
         const traits::complex_f* ab, const integer_t ldab, const float anorm,
         float& rcond, traits::complex_f* work, float* rwork,
@@ -58,7 +56,6 @@
     LAPACK_CPBCON( &uplo, &n, &kd, traits::complex_ptr(ab), &ldab, &anorm,
             &rcond, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void pbcon( const char uplo, const integer_t n, const integer_t kd,
         const traits::complex_d* ab, const integer_t ldab, const double anorm,
         double& rcond, traits::complex_d* work, double* rwork,
@@ -66,7 +63,6 @@
     LAPACK_ZPBCON( &uplo, &n, &kd, traits::complex_ptr(ab), &ldab, &anorm,
             &rcond, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbequ.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,27 +40,23 @@
         float& amax, integer_t& info ) {
     LAPACK_SPBEQU( &uplo, &n, &kd, ab, &ldab, s, &scond, &amax, &info );
 }
-
 inline void pbequ( const char uplo, const integer_t n, const integer_t kd,
         const double* ab, const integer_t ldab, double* s, double& scond,
         double& amax, integer_t& info ) {
     LAPACK_DPBEQU( &uplo, &n, &kd, ab, &ldab, s, &scond, &amax, &info );
 }
-
 inline void pbequ( const char uplo, const integer_t n, const integer_t kd,
         const traits::complex_f* ab, const integer_t ldab, float* s,
         float& scond, float& amax, integer_t& info ) {
     LAPACK_CPBEQU( &uplo, &n, &kd, traits::complex_ptr(ab), &ldab, s, &scond,
             &amax, &info );
 }
-
 inline void pbequ( const char uplo, const integer_t n, const integer_t kd,
         const traits::complex_d* ab, const integer_t ldab, double* s,
         double& scond, double& amax, integer_t& info ) {
     LAPACK_ZPBEQU( &uplo, &n, &kd, traits::complex_ptr(ab), &ldab, s, &scond,
             &amax, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbrfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SPBRFS( &uplo, &n, &kd, &nrhs, ab, &ldab, afb, &ldafb, b, &ldb, x,
             &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void pbrfs( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, const double* ab, const integer_t ldab,
         const double* afb, const integer_t ldafb, const double* b,
@@ -54,7 +53,6 @@
     LAPACK_DPBRFS( &uplo, &n, &kd, &nrhs, ab, &ldab, afb, &ldafb, b, &ldb, x,
             &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void pbrfs( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, const traits::complex_f* ab,
         const integer_t ldab, const traits::complex_f* afb,
@@ -67,7 +65,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void pbrfs( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, const traits::complex_d* ab,
         const integer_t ldab, const traits::complex_d* afb,
@@ -80,7 +77,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -124,8 +120,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
         BOOST_ASSERT( traits::leading_dimension(afb) >= kd+1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -209,8 +207,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
         BOOST_ASSERT( traits::leading_dimension(afb) >= kd+1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbstf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,22 +36,18 @@
         float* ab, const integer_t ldab, integer_t& info ) {
     LAPACK_SPBSTF( &uplo, &n, &kd, ab, &ldab, &info );
 }
-
 inline void pbstf( const char uplo, const integer_t n, const integer_t kd,
         double* ab, const integer_t ldab, integer_t& info ) {
     LAPACK_DPBSTF( &uplo, &n, &kd, ab, &ldab, &info );
 }
-
 inline void pbstf( const char uplo, const integer_t n, const integer_t kd,
         traits::complex_f* ab, const integer_t ldab, integer_t& info ) {
     LAPACK_CPBSTF( &uplo, &n, &kd, traits::complex_ptr(ab), &ldab, &info );
 }
-
 inline void pbstf( const char uplo, const integer_t n, const integer_t kd,
         traits::complex_d* ab, const integer_t ldab, integer_t& info ) {
     LAPACK_ZPBSTF( &uplo, &n, &kd, traits::complex_ptr(ab), &ldab, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,22 +36,18 @@
         float* ab, const integer_t ldab, integer_t& info ) {
     LAPACK_SPBTRF( &uplo, &n, &kd, ab, &ldab, &info );
 }
-
 inline void pbtrf( const char uplo, const integer_t n, const integer_t kd,
         double* ab, const integer_t ldab, integer_t& info ) {
     LAPACK_DPBTRF( &uplo, &n, &kd, ab, &ldab, &info );
 }
-
 inline void pbtrf( const char uplo, const integer_t n, const integer_t kd,
         traits::complex_f* ab, const integer_t ldab, integer_t& info ) {
     LAPACK_CPBTRF( &uplo, &n, &kd, traits::complex_ptr(ab), &ldab, &info );
 }
-
 inline void pbtrf( const char uplo, const integer_t n, const integer_t kd,
         traits::complex_d* ab, const integer_t ldab, integer_t& info ) {
     LAPACK_ZPBTRF( &uplo, &n, &kd, traits::complex_ptr(ab), &ldab, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pbtrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,13 +37,11 @@
         const integer_t ldb, integer_t& info ) {
     LAPACK_SPBTRS( &uplo, &n, &kd, &nrhs, ab, &ldab, b, &ldb, &info );
 }
-
 inline void pbtrs( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, const double* ab, const integer_t ldab,
         double* b, const integer_t ldb, integer_t& info ) {
     LAPACK_DPBTRS( &uplo, &n, &kd, &nrhs, ab, &ldab, b, &ldb, &info );
 }
-
 inline void pbtrs( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, const traits::complex_f* ab,
         const integer_t ldab, traits::complex_f* b, const integer_t ldb,
@@ -51,7 +49,6 @@
     LAPACK_CPBTRS( &uplo, &n, &kd, &nrhs, traits::complex_ptr(ab), &ldab,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void pbtrs( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, const traits::complex_d* ab,
         const integer_t ldab, traits::complex_d* b, const integer_t ldb,
@@ -59,7 +56,6 @@
     LAPACK_ZPBTRS( &uplo, &n, &kd, &nrhs, traits::complex_ptr(ab), &ldab,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -82,7 +78,8 @@
         BOOST_ASSERT( kd >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::pbtrs( uplo, n, kd, traits::matrix_num_columns(b),
                 traits::matrix_storage(ab), traits::leading_dimension(ab),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pftrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,27 +40,23 @@
         integer_t& info ) {
     LAPACK_SPFTRS( &transr, &uplo, &n, &nrhs, a, b, &ldb, &info );
 }
-
 inline void pftrs( const char transr, const char uplo, const integer_t n,
         const integer_t nrhs, const double* a, double* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_DPFTRS( &transr, &uplo, &n, &nrhs, a, b, &ldb, &info );
 }
-
 inline void pftrs( const char transr, const char uplo, const integer_t n,
         const integer_t nrhs, const traits::complex_f* a,
         traits::complex_f* b, const integer_t ldb, integer_t& info ) {
     LAPACK_CPFTRS( &transr, &uplo, &n, &nrhs, traits::complex_ptr(a),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void pftrs( const char transr, const char uplo, const integer_t n,
         const integer_t nrhs, const traits::complex_d* a,
         traits::complex_d* b, const integer_t ldb, integer_t& info ) {
     LAPACK_ZPFTRS( &transr, &uplo, &n, &nrhs, traits::complex_ptr(a),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -87,7 +83,8 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::vector_size(a) >= n*(n+1)/2 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::pftrs( transr, traits::matrix_uplo_tag(rfp), n,
                 traits::matrix_num_columns(b), traits::vector_storage(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),
@@ -115,7 +112,8 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::vector_size(a) >= n*(n+1)/2 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::pftrs( transr, traits::matrix_uplo_tag(rfp), n,
                 traits::matrix_num_columns(b), traits::vector_storage(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pocon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,13 +42,11 @@
         integer_t* iwork, integer_t& info ) {
     LAPACK_SPOCON( &uplo, &n, a, &lda, &anorm, &rcond, work, iwork, &info );
 }
-
 inline void pocon( const char uplo, const integer_t n, const double* a,
         const integer_t lda, const double anorm, double& rcond, double* work,
         integer_t* iwork, integer_t& info ) {
     LAPACK_DPOCON( &uplo, &n, a, &lda, &anorm, &rcond, work, iwork, &info );
 }
-
 inline void pocon( const char uplo, const integer_t n,
         const traits::complex_f* a, const integer_t lda, const float anorm,
         float& rcond, traits::complex_f* work, float* rwork,
@@ -56,7 +54,6 @@
     LAPACK_CPOCON( &uplo, &n, traits::complex_ptr(a), &lda, &anorm, &rcond,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void pocon( const char uplo, const integer_t n,
         const traits::complex_d* a, const integer_t lda, const double anorm,
         double& rcond, traits::complex_d* work, double* rwork,
@@ -64,7 +61,6 @@
     LAPACK_ZPOCON( &uplo, &n, traits::complex_ptr(a), &lda, &anorm, &rcond,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -86,8 +82,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=
@@ -141,8 +137,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/poequ.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,24 +39,20 @@
         float* s, float& scond, float& amax, integer_t& info ) {
     LAPACK_SPOEQU( &n, a, &lda, s, &scond, &amax, &info );
 }
-
 inline void poequ( const integer_t n, const double* a, const integer_t lda,
         double* s, double& scond, double& amax, integer_t& info ) {
     LAPACK_DPOEQU( &n, a, &lda, s, &scond, &amax, &info );
 }
-
 inline void poequ( const integer_t n, const traits::complex_f* a,
         const integer_t lda, float* s, float& scond, float& amax,
         integer_t& info ) {
     LAPACK_CPOEQU( &n, traits::complex_ptr(a), &lda, s, &scond, &amax, &info );
 }
-
 inline void poequ( const integer_t n, const traits::complex_d* a,
         const integer_t lda, double* s, double& scond, double& amax,
         integer_t& info ) {
     LAPACK_ZPOEQU( &n, traits::complex_ptr(a), &lda, s, &scond, &amax, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -78,8 +74,8 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorS >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::poequ( traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(s), scond, amax, info );
@@ -98,8 +94,8 @@
     static void invoke( const MatrixA& a, VectorS& s, real_type& scond,
             real_type& amax, integer_t& info ) {
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::poequ( traits::matrix_num_columns(a),
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::vector_storage(s), scond, amax, info );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/porfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SPORFS( &uplo, &n, &nrhs, a, &lda, af, &ldaf, b, &ldb, x, &ldx,
             ferr, berr, work, iwork, &info );
 }
-
 inline void porfs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* a, const integer_t lda, const double* af,
         const integer_t ldaf, const double* b, const integer_t ldb, double* x,
@@ -54,7 +53,6 @@
     LAPACK_DPORFS( &uplo, &n, &nrhs, a, &lda, af, &ldaf, b, &ldb, x, &ldx,
             ferr, berr, work, iwork, &info );
 }
-
 inline void porfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_f* a, const integer_t lda,
         const traits::complex_f* af, const integer_t ldaf,
@@ -66,7 +64,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void porfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda,
         const traits::complex_d* af, const integer_t ldaf,
@@ -78,7 +75,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -118,14 +114,14 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -205,14 +201,14 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,22 +36,18 @@
         const integer_t lda, integer_t& info ) {
     LAPACK_SPOTRF( &uplo, &n, a, &lda, &info );
 }
-
 inline void potrf( const char uplo, const integer_t n, double* a,
         const integer_t lda, integer_t& info ) {
     LAPACK_DPOTRF( &uplo, &n, a, &lda, &info );
 }
-
 inline void potrf( const char uplo, const integer_t n, traits::complex_f* a,
         const integer_t lda, integer_t& info ) {
     LAPACK_CPOTRF( &uplo, &n, traits::complex_ptr(a), &lda, &info );
 }
-
 inline void potrf( const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, integer_t& info ) {
     LAPACK_ZPOTRF( &uplo, &n, traits::complex_ptr(a), &lda, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,8 +63,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::potrf( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), info );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potri.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,22 +36,18 @@
         const integer_t lda, integer_t& info ) {
     LAPACK_SPOTRI( &uplo, &n, a, &lda, &info );
 }
-
 inline void potri( const char uplo, const integer_t n, double* a,
         const integer_t lda, integer_t& info ) {
     LAPACK_DPOTRI( &uplo, &n, a, &lda, &info );
 }
-
 inline void potri( const char uplo, const integer_t n, traits::complex_f* a,
         const integer_t lda, integer_t& info ) {
     LAPACK_CPOTRI( &uplo, &n, traits::complex_ptr(a), &lda, &info );
 }
-
 inline void potri( const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, integer_t& info ) {
     LAPACK_ZPOTRI( &uplo, &n, traits::complex_ptr(a), &lda, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,8 +63,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::potri( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), info );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/potrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,27 +37,23 @@
         integer_t& info ) {
     LAPACK_SPOTRS( &uplo, &n, &nrhs, a, &lda, b, &ldb, &info );
 }
-
 inline void potrs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* a, const integer_t lda, double* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_DPOTRS( &uplo, &n, &nrhs, a, &lda, b, &ldb, &info );
 }
-
 inline void potrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_CPOTRS( &uplo, &n, &nrhs, traits::complex_ptr(a), &lda,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void potrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_ZPOTRS( &uplo, &n, &nrhs, traits::complex_ptr(a), &lda,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -77,10 +73,10 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::potrs( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pprfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SPPRFS( &uplo, &n, &nrhs, ap, afp, b, &ldb, x, &ldx, ferr, berr,
             work, iwork, &info );
 }
-
 inline void pprfs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* ap, const double* afp, const double* b,
         const integer_t ldb, double* x, const integer_t ldx, double* ferr,
@@ -52,7 +51,6 @@
     LAPACK_DPPRFS( &uplo, &n, &nrhs, ap, afp, b, &ldb, x, &ldx, ferr, berr,
             work, iwork, &info );
 }
-
 inline void pprfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_f* ap, const traits::complex_f* afp,
         const traits::complex_f* b, const integer_t ldb, traits::complex_f* x,
@@ -63,7 +61,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void pprfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* ap, const traits::complex_d* afp,
         const traits::complex_d* b, const integer_t ldb, traits::complex_d* x,
@@ -74,7 +71,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -116,8 +112,10 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::vector_size(afp) >= n*(n+1)/2 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -198,8 +196,10 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::vector_size(afp) >= n*(n+1)/2 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pptrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,26 +36,22 @@
         const float* ap, float* b, const integer_t ldb, integer_t& info ) {
     LAPACK_SPPTRS( &uplo, &n, &nrhs, ap, b, &ldb, &info );
 }
-
 inline void pptrs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* ap, double* b, const integer_t ldb, integer_t& info ) {
     LAPACK_DPPTRS( &uplo, &n, &nrhs, ap, b, &ldb, &info );
 }
-
 inline void pptrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_f* ap, traits::complex_f* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_CPPTRS( &uplo, &n, &nrhs, traits::complex_ptr(ap),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void pptrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* ap, traits::complex_d* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_ZPPTRS( &uplo, &n, &nrhs, traits::complex_ptr(ap),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -76,7 +72,8 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::pptrs( traits::matrix_uplo_tag(a), n,
                 traits::matrix_num_columns(b), traits::vector_storage(ap),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pteqr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,26 +41,22 @@
         float* z, const integer_t ldz, float* work, integer_t& info ) {
     LAPACK_SPTEQR( &compz, &n, d, e, z, &ldz, work, &info );
 }
-
 inline void pteqr( const char compz, const integer_t n, double* d, double* e,
         double* z, const integer_t ldz, double* work, integer_t& info ) {
     LAPACK_DPTEQR( &compz, &n, d, e, z, &ldz, work, &info );
 }
-
 inline void pteqr( const char compz, const integer_t n, float* d, float* e,
         traits::complex_f* z, const integer_t ldz, float* work,
         integer_t& info ) {
     LAPACK_CPTEQR( &compz, &n, d, e, traits::complex_ptr(z), &ldz, work,
             &info );
 }
-
 inline void pteqr( const char compz, const integer_t n, double* d, double* e,
         traits::complex_d* z, const integer_t ldz, double* work,
         integer_t& info ) {
     LAPACK_ZPTEQR( &compz, &n, d, e, traits::complex_ptr(z), &ldz, work,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ptrfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SPTRFS( &n, &nrhs, d, e, df, ef, b, &ldb, x, &ldx, ferr, berr,
             work, &info );
 }
-
 inline void ptrfs( const integer_t n, const integer_t nrhs, const double* d,
         const double* e, const double* df, const double* ef, const double* b,
         const integer_t ldb, double* x, const integer_t ldx, double* ferr,
@@ -52,7 +51,6 @@
     LAPACK_DPTRFS( &n, &nrhs, d, e, df, ef, b, &ldb, x, &ldx, ferr, berr,
             work, &info );
 }
-
 inline void ptrfs( const char uplo, const integer_t n, const integer_t nrhs,
         const float* d, const traits::complex_f* e, const float* df,
         const traits::complex_f* ef, const traits::complex_f* b,
@@ -64,7 +62,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void ptrfs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* d, const traits::complex_d* e, const double* df,
         const traits::complex_d* ef, const traits::complex_d* b,
@@ -76,7 +73,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -125,8 +121,10 @@
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
         BOOST_ASSERT( traits::vector_size(df) >= n );
         BOOST_ASSERT( traits::vector_size(ef) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -210,8 +208,10 @@
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
         BOOST_ASSERT( traits::vector_size(df) >= n );
         BOOST_ASSERT( traits::vector_size(ef) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/pttrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,26 +39,22 @@
         const float* e, float* b, const integer_t ldb, integer_t& info ) {
     LAPACK_SPTTRS( &n, &nrhs, d, e, b, &ldb, &info );
 }
-
 inline void pttrs( const integer_t n, const integer_t nrhs, const double* d,
         const double* e, double* b, const integer_t ldb, integer_t& info ) {
     LAPACK_DPTTRS( &n, &nrhs, d, e, b, &ldb, &info );
 }
-
 inline void pttrs( const char uplo, const integer_t n, const integer_t nrhs,
         const float* d, const traits::complex_f* e, traits::complex_f* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_CPTTRS( &uplo, &n, &nrhs, d, traits::complex_ptr(e),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void pttrs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* d, const traits::complex_d* e, traits::complex_d* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_ZPTTRS( &uplo, &n, &nrhs, d, traits::complex_ptr(e),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -86,7 +82,8 @@
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::pttrs( n, traits::matrix_num_columns(b),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(b), traits::leading_dimension(b),
@@ -112,7 +109,8 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::pttrs( uplo, n, traits::matrix_num_columns(b),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbgst.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,7 +41,6 @@
     LAPACK_SSBGST( &vect, &uplo, &n, &ka, &kb, ab, &ldab, bb, &ldbb, x, &ldx,
             work, &info );
 }
-
 inline void sbgst( const char vect, const char uplo, const integer_t n,
         const integer_t ka, const integer_t kb, double* ab,
         const integer_t ldab, const double* bb, const integer_t ldbb,
@@ -49,7 +48,6 @@
     LAPACK_DSBGST( &vect, &uplo, &n, &ka, &kb, ab, &ldab, bb, &ldbb, x, &ldx,
             work, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sbtrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,7 +41,6 @@
     LAPACK_SSBTRD( &vect, &uplo, &n, &kd, ab, &ldab, d, e, q, &ldq, work,
             &info );
 }
-
 inline void sbtrd( const char vect, const char uplo, const integer_t n,
         const integer_t kd, double* ab, const integer_t ldab, double* d,
         double* e, double* q, const integer_t ldq, double* work,
@@ -49,7 +48,6 @@
     LAPACK_DSBTRD( &vect, &uplo, &n, &kd, ab, &ldab, d, e, q, &ldq, work,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sprfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SSPRFS( &uplo, &n, &nrhs, ap, afp, ipiv, b, &ldb, x, &ldx, ferr,
             berr, work, iwork, &info );
 }
-
 inline void sprfs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* ap, const double* afp, const integer_t* ipiv,
         const double* b, const integer_t ldb, double* x, const integer_t ldx,
@@ -54,7 +53,6 @@
     LAPACK_DSPRFS( &uplo, &n, &nrhs, ap, afp, ipiv, b, &ldb, x, &ldx, ferr,
             berr, work, iwork, &info );
 }
-
 inline void sprfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_f* ap, const traits::complex_f* afp,
         const integer_t* ipiv, const traits::complex_f* b,
@@ -66,7 +64,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void sprfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* ap, const traits::complex_d* afp,
         const integer_t* ipiv, const traits::complex_d* b,
@@ -78,7 +75,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -121,8 +117,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::vector_size(afp) >= n*(n+1)/2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -207,8 +205,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::vector_size(afp) >= n*(n+1)/2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sptrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,27 +37,23 @@
         integer_t& info ) {
     LAPACK_SSPTRS( &uplo, &n, &nrhs, ap, ipiv, b, &ldb, &info );
 }
-
 inline void sptrs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* ap, const integer_t* ipiv, double* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_DSPTRS( &uplo, &n, &nrhs, ap, ipiv, b, &ldb, &info );
 }
-
 inline void sptrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_f* ap, const integer_t* ipiv,
         traits::complex_f* b, const integer_t ldb, integer_t& info ) {
     LAPACK_CSPTRS( &uplo, &n, &nrhs, traits::complex_ptr(ap), ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void sptrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* ap, const integer_t* ipiv,
         traits::complex_d* b, const integer_t ldb, integer_t& info ) {
     LAPACK_ZSPTRS( &uplo, &n, &nrhs, traits::complex_ptr(ap), ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -80,7 +76,8 @@
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::vector_size(ap) >= n*(n+1)/2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >= n );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::sptrs( uplo, n, traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::vector_storage(ipiv),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stebz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stebz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stebz.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
     LAPACK_SSTEBZ( &range, &order, &n, &vl, &vu, &il, &iu, &abstol, d, e, &m,
             &nsplit, w, iblock, isplit, work, iwork, &info );
 }
-
 inline void stebz( const char range, const char order, const integer_t n,
         const double vl, const double vu, const integer_t il,
         const integer_t iu, const double abstol, const double* d,
@@ -53,7 +52,6 @@
     LAPACK_DSTEBZ( &range, &order, &n, &vl, &vu, &il, &iu, &abstol, d, e, &m,
             &nsplit, w, iblock, isplit, work, iwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stedc.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,14 +44,12 @@
     LAPACK_SSTEDC( &compz, &n, d, e, z, &ldz, work, &lwork, iwork, &liwork,
             &info );
 }
-
 inline void stedc( const char compz, const integer_t n, double* d, double* e,
         double* z, const integer_t ldz, double* work, const integer_t lwork,
         integer_t* iwork, const integer_t liwork, integer_t& info ) {
     LAPACK_DSTEDC( &compz, &n, d, e, z, &ldz, work, &lwork, iwork, &liwork,
             &info );
 }
-
 inline void stedc( const char compz, const integer_t n, float* d, float* e,
         traits::complex_f* z, const integer_t ldz, traits::complex_f* work,
         const integer_t lwork, float* rwork, const integer_t lrwork,
@@ -60,7 +58,6 @@
             traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork, &liwork,
             &info );
 }
-
 inline void stedc( const char compz, const integer_t n, double* d, double* e,
         traits::complex_d* z, const integer_t ldz, traits::complex_d* work,
         const integer_t lwork, double* rwork, const integer_t lrwork,
@@ -69,7 +66,6 @@
             traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork, &liwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stegr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -47,7 +47,6 @@
     LAPACK_SSTEGR( &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &abstol, &m,
             w, z, &ldz, isuppz, work, &lwork, iwork, &liwork, &info );
 }
-
 inline void stegr( const char jobz, const char range, const integer_t n,
         double* d, double* e, const double vl, const double vu,
         const integer_t il, const integer_t iu, const double abstol,
@@ -57,7 +56,6 @@
     LAPACK_DSTEGR( &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &abstol, &m,
             w, z, &ldz, isuppz, work, &lwork, iwork, &liwork, &info );
 }
-
 inline void stegr( const char jobz, const char range, const integer_t n,
         float* d, float* e, const float vl, const float vu,
         const integer_t il, const integer_t iu, const float abstol,
@@ -68,7 +66,6 @@
             w, traits::complex_ptr(z), &ldz, isuppz, work, &lwork, iwork,
             &liwork, &info );
 }
-
 inline void stegr( const char jobz, const char range, const integer_t n,
         double* d, double* e, const double vl, const double vu,
         const integer_t il, const integer_t iu, const double abstol,
@@ -79,7 +76,6 @@
             w, traits::complex_ptr(z), &ldz, isuppz, work, &lwork, iwork,
             &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stein.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SSTEIN( &n, d, e, &m, w, iblock, isplit, z, &ldz, work, iwork,
             ifail, &info );
 }
-
 inline void stein( const integer_t n, const double* d, const double* e,
         const integer_t m, const double* w, const integer_t* iblock,
         const integer_t* isplit, double* z, const integer_t ldz, double* work,
@@ -52,7 +51,6 @@
     LAPACK_DSTEIN( &n, d, e, &m, w, iblock, isplit, z, &ldz, work, iwork,
             ifail, &info );
 }
-
 inline void stein( const integer_t n, const float* d, const float* e,
         const integer_t m, const float* w, const integer_t* iblock,
         const integer_t* isplit, traits::complex_f* z, const integer_t ldz,
@@ -60,7 +58,6 @@
     LAPACK_CSTEIN( &n, d, e, &m, w, iblock, isplit, traits::complex_ptr(z),
             &ldz, work, iwork, ifail, &info );
 }
-
 inline void stein( const integer_t n, const double* d, const double* e,
         const integer_t m, const double* w, const integer_t* iblock,
         const integer_t* isplit, traits::complex_d* z, const integer_t ldz,
@@ -68,7 +65,6 @@
     LAPACK_ZSTEIN( &n, d, e, &m, w, iblock, isplit, traits::complex_ptr(z),
             &ldz, work, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -110,7 +106,8 @@
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
         BOOST_ASSERT( traits::vector_size(w) >= n );
         BOOST_ASSERT( traits::vector_size(isplit) >= n );
- BOOST_ASSERT( traits::leading_dimension(z) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(z) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=
@@ -192,7 +189,8 @@
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
         BOOST_ASSERT( traits::vector_size(w) >= n );
         BOOST_ASSERT( traits::vector_size(isplit) >= n );
- BOOST_ASSERT( traits::leading_dimension(z) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(z) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stemr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stemr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/stemr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -47,7 +47,6 @@
     LAPACK_SSTEMR( &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &m, w, z,
             &ldz, &nzc, isuppz, &tryrac, work, &lwork, iwork, &liwork, &info );
 }
-
 inline void stemr( const char jobz, const char range, const integer_t n,
         double* d, double* e, const double vl, const double vu,
         const integer_t il, const integer_t iu, integer_t& m, double* w,
@@ -58,7 +57,6 @@
     LAPACK_DSTEMR( &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &m, w, z,
             &ldz, &nzc, isuppz, &tryrac, work, &lwork, iwork, &liwork, &info );
 }
-
 inline void stemr( const char jobz, const char range, const integer_t n,
         float* d, float* e, const float vl, const float vu,
         const integer_t il, const integer_t iu, integer_t& m, float* w,
@@ -70,7 +68,6 @@
             traits::complex_ptr(z), &ldz, &nzc, isuppz, &tryrac, work, &lwork,
             iwork, &liwork, &info );
 }
-
 inline void stemr( const char jobz, const char range, const integer_t n,
         double* d, double* e, const double vl, const double vu,
         const integer_t il, const integer_t iu, integer_t& m, double* w,
@@ -82,7 +79,6 @@
             traits::complex_ptr(z), &ldz, &nzc, isuppz, &tryrac, work, &lwork,
             iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/steqr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,26 +41,22 @@
         float* z, const integer_t ldz, float* work, integer_t& info ) {
     LAPACK_SSTEQR( &compz, &n, d, e, z, &ldz, work, &info );
 }
-
 inline void steqr( const char compz, const integer_t n, double* d, double* e,
         double* z, const integer_t ldz, double* work, integer_t& info ) {
     LAPACK_DSTEQR( &compz, &n, d, e, z, &ldz, work, &info );
 }
-
 inline void steqr( const char compz, const integer_t n, float* d, float* e,
         traits::complex_f* z, const integer_t ldz, float* work,
         integer_t& info ) {
     LAPACK_CSTEQR( &compz, &n, d, e, traits::complex_ptr(z), &ldz, work,
             &info );
 }
-
 inline void steqr( const char compz, const integer_t n, double* d, double* e,
         traits::complex_d* z, const integer_t ldz, double* work,
         integer_t& info ) {
     LAPACK_ZSTEQR( &compz, &n, d, e, traits::complex_ptr(z), &ldz, work,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sterf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sterf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sterf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -35,11 +35,9 @@
 inline void sterf( const integer_t n, float* d, float* e, integer_t& info ) {
     LAPACK_SSTERF( &n, d, e, &info );
 }
-
 inline void sterf( const integer_t n, double* d, double* e, integer_t& info ) {
     LAPACK_DSTERF( &n, d, e, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sycon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,14 +43,12 @@
     LAPACK_SSYCON( &uplo, &n, a, &lda, ipiv, &anorm, &rcond, work, iwork,
             &info );
 }
-
 inline void sycon( const char uplo, const integer_t n, const double* a,
         const integer_t lda, const integer_t* ipiv, const double anorm,
         double& rcond, double* work, integer_t* iwork, integer_t& info ) {
     LAPACK_DSYCON( &uplo, &n, a, &lda, ipiv, &anorm, &rcond, work, iwork,
             &info );
 }
-
 inline void sycon( const char uplo, const integer_t n,
         const traits::complex_f* a, const integer_t lda,
         const integer_t* ipiv, const float anorm, float& rcond,
@@ -58,7 +56,6 @@
     LAPACK_CSYCON( &uplo, &n, traits::complex_ptr(a), &lda, ipiv, &anorm,
             &rcond, traits::complex_ptr(work), &info );
 }
-
 inline void sycon( const char uplo, const integer_t n,
         const traits::complex_d* a, const integer_t lda,
         const integer_t* ipiv, const double anorm, double& rcond,
@@ -66,7 +63,6 @@
     LAPACK_ZSYCON( &uplo, &n, traits::complex_ptr(a), &lda, ipiv, &anorm,
             &rcond, traits::complex_ptr(work), &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -88,8 +84,8 @@
             integer_t& info, detail::workspace2< WORK, IWORK > work ) {
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -147,8 +143,8 @@
             integer_t& info, detail::workspace1< WORK > work ) {
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sygst.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,13 +37,11 @@
         integer_t& info ) {
     LAPACK_SSYGST( &itype, &uplo, &n, a, &lda, b, &ldb, &info );
 }
-
 inline void sygst( const integer_t itype, const char uplo, const integer_t n,
         double* a, const integer_t lda, const double* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_DSYGST( &itype, &uplo, &n, a, &lda, b, &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -63,8 +61,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::sygst( itype, traits::matrix_uplo_tag(a), n,
                 traits::matrix_storage(a), traits::leading_dimension(a),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/syrfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SSYRFS( &uplo, &n, &nrhs, a, &lda, af, &ldaf, ipiv, b, &ldb, x,
             &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void syrfs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* a, const integer_t lda, const double* af,
         const integer_t ldaf, const integer_t* ipiv, const double* b,
@@ -54,7 +53,6 @@
     LAPACK_DSYRFS( &uplo, &n, &nrhs, a, &lda, af, &ldaf, ipiv, b, &ldb, x,
             &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void syrfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_f* a, const integer_t lda,
         const traits::complex_f* af, const integer_t ldaf,
@@ -67,7 +65,6 @@
             &ldb, traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void syrfs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda,
         const traits::complex_d* af, const integer_t ldaf,
@@ -80,7 +77,6 @@
             &ldb, traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -121,16 +117,16 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -216,16 +212,16 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SSYTRD( &uplo, &n, a, &lda, d, e, tau, work, &lwork, &info );
 }
-
 inline void sytrd( const char uplo, const integer_t n, double* a,
         const integer_t lda, double* d, double* e, double* tau, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DSYTRD( &uplo, &n, a, &lda, d, e, tau, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -73,8 +71,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(d) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(tau) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,27 +43,23 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SSYTRF( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
 }
-
 inline void sytrf( const char uplo, const integer_t n, double* a,
         const integer_t lda, integer_t* ipiv, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DSYTRF( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
 }
-
 inline void sytrf( const char uplo, const integer_t n, traits::complex_f* a,
         const integer_t lda, integer_t* ipiv, traits::complex_f* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_CSYTRF( &uplo, &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void sytrf( const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, integer_t* ipiv, traits::complex_d* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_ZSYTRF( &uplo, &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -84,8 +80,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         detail::sytrf( traits::matrix_uplo_tag(a),
@@ -137,8 +133,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         detail::sytrf( traits::matrix_uplo_tag(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytri.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,27 +42,23 @@
         integer_t& info ) {
     LAPACK_SSYTRI( &uplo, &n, a, &lda, ipiv, work, &info );
 }
-
 inline void sytri( const char uplo, const integer_t n, double* a,
         const integer_t lda, const integer_t* ipiv, double* work,
         integer_t& info ) {
     LAPACK_DSYTRI( &uplo, &n, a, &lda, ipiv, work, &info );
 }
-
 inline void sytri( const char uplo, const integer_t n, traits::complex_f* a,
         const integer_t lda, const integer_t* ipiv, traits::complex_f* work,
         integer_t& info ) {
     LAPACK_CSYTRI( &uplo, &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &info );
 }
-
 inline void sytri( const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, const integer_t* ipiv, traits::complex_d* work,
         integer_t& info ) {
     LAPACK_ZSYTRI( &uplo, &n, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(work), &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -82,8 +78,8 @@
             integer_t& info, detail::workspace1< WORK > work ) {
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -128,8 +124,8 @@
             integer_t& info, detail::workspace1< WORK > work ) {
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/sytrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,13 +37,11 @@
         const integer_t ldb, integer_t& info ) {
     LAPACK_SSYTRS( &uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info );
 }
-
 inline void sytrs( const char uplo, const integer_t n, const integer_t nrhs,
         const double* a, const integer_t lda, const integer_t* ipiv,
         double* b, const integer_t ldb, integer_t& info ) {
     LAPACK_DSYTRS( &uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, &info );
 }
-
 inline void sytrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_f* a, const integer_t lda,
         const integer_t* ipiv, traits::complex_f* b, const integer_t ldb,
@@ -51,7 +49,6 @@
     LAPACK_CSYTRS( &uplo, &n, &nrhs, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void sytrs( const char uplo, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda,
         const integer_t* ipiv, traits::complex_d* b, const integer_t ldb,
@@ -59,7 +56,6 @@
     LAPACK_ZSYTRS( &uplo, &n, &nrhs, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -79,12 +75,12 @@
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::sytrs( uplo, traits::matrix_num_columns(a),
                 traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(ipiv),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbcon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbcon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_STBCON( &norm, &uplo, &diag, &n, &kd, ab, &ldab, &rcond, work,
             iwork, &info );
 }
-
 inline void tbcon( const char norm, const char uplo, const char diag,
         const integer_t n, const integer_t kd, const double* ab,
         const integer_t ldab, double& rcond, double* work, integer_t* iwork,
@@ -52,7 +51,6 @@
     LAPACK_DTBCON( &norm, &uplo, &diag, &n, &kd, ab, &ldab, &rcond, work,
             iwork, &info );
 }
-
 inline void tbcon( const char norm, const char uplo, const char diag,
         const integer_t n, const integer_t kd, const traits::complex_f* ab,
         const integer_t ldab, float& rcond, traits::complex_f* work,
@@ -60,7 +58,6 @@
     LAPACK_CTBCON( &norm, &uplo, &diag, &n, &kd, traits::complex_ptr(ab),
             &ldab, &rcond, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void tbcon( const char norm, const char uplo, const char diag,
         const integer_t n, const integer_t kd, const traits::complex_d* ab,
         const integer_t ldab, double& rcond, traits::complex_d* work,
@@ -68,7 +65,6 @@
     LAPACK_ZTBCON( &norm, &uplo, &diag, &n, &kd, traits::complex_ptr(ab),
             &ldab, &rcond, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbrfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_STBRFS( &uplo, &trans, &diag, &n, &kd, &nrhs, ab, &ldab, b, &ldb,
             x, &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void tbrfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t kd, const integer_t nrhs,
         const double* ab, const integer_t ldab, const double* b,
@@ -55,7 +54,6 @@
     LAPACK_DTBRFS( &uplo, &trans, &diag, &n, &kd, &nrhs, ab, &ldab, b, &ldb,
             x, &ldx, ferr, berr, work, iwork, &info );
 }
-
 inline void tbrfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t kd, const integer_t nrhs,
         const traits::complex_f* ab, const integer_t ldab,
@@ -67,7 +65,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void tbrfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t kd, const integer_t nrhs,
         const traits::complex_d* ab, const integer_t ldab,
@@ -80,7 +77,6 @@
             traits::complex_ptr(x), &ldx, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -122,8 +118,10 @@
         BOOST_ASSERT( kd >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -205,8 +203,10 @@
         BOOST_ASSERT( kd >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tbtrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,7 +39,6 @@
     LAPACK_STBTRS( &uplo, &trans, &diag, &n, &kd, &nrhs, ab, &ldab, b, &ldb,
             &info );
 }
-
 inline void tbtrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t kd, const integer_t nrhs,
         const double* ab, const integer_t ldab, double* b,
@@ -47,7 +46,6 @@
     LAPACK_DTBTRS( &uplo, &trans, &diag, &n, &kd, &nrhs, ab, &ldab, b, &ldb,
             &info );
 }
-
 inline void tbtrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t kd, const integer_t nrhs,
         const traits::complex_f* ab, const integer_t ldab,
@@ -56,7 +54,6 @@
             traits::complex_ptr(ab), &ldab, traits::complex_ptr(b), &ldb,
             &info );
 }
-
 inline void tbtrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t kd, const integer_t nrhs,
         const traits::complex_d* ab, const integer_t ldab,
@@ -65,7 +62,6 @@
             traits::complex_ptr(ab), &ldab, traits::complex_ptr(b), &ldb,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -90,7 +86,8 @@
         BOOST_ASSERT( kd >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::tbtrs( uplo, trans, diag, n, kd,
                 traits::matrix_num_columns(b), traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::matrix_storage(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgevc.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_STGEVC( &side, &howmny, select, &n, s, &lds, p, &ldp, vl, &ldvl,
             vr, &ldvr, &mm, &m, work, &info );
 }
-
 inline void tgevc( const char side, const char howmny,
         const logical_t* select, const integer_t n, const double* s,
         const integer_t lds, const double* p, const integer_t ldp, double* vl,
@@ -54,7 +53,6 @@
     LAPACK_DTGEVC( &side, &howmny, select, &n, s, &lds, p, &ldp, vl, &ldvl,
             vr, &ldvr, &mm, &m, work, &info );
 }
-
 inline void tgevc( const char side, const char howmny,
         const logical_t* select, const integer_t n,
         const traits::complex_f* s, const integer_t lds,
@@ -67,7 +65,6 @@
             traits::complex_ptr(vr), &ldvr, &mm, &m,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void tgevc( const char side, const char howmny,
         const logical_t* select, const integer_t n,
         const traits::complex_d* s, const integer_t lds,
@@ -80,7 +77,6 @@
             traits::complex_ptr(vr), &ldvr, &mm, &m,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -113,8 +109,10 @@
         BOOST_ASSERT( side == 'R' || side == 'L' || side == 'B' );
         BOOST_ASSERT( howmny == 'A' || howmny == 'B' || howmny == 'S' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(s) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(p) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(s) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(p) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( mm >= m );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));
@@ -182,8 +180,10 @@
         BOOST_ASSERT( side == 'R' || side == 'L' || side == 'B' );
         BOOST_ASSERT( howmny == 'A' || howmny == 'B' || howmny == 'S' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(s) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(p) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(s) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(p) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( mm >= m );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgexc.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_STGEXC( &wantq, &wantz, &n, a, &lda, b, &ldb, q, &ldq, z, &ldz,
             &ifst, &ilst, work, &lwork, &info );
 }
-
 inline void tgexc( const logical_t wantq, const logical_t wantz,
         const integer_t n, double* a, const integer_t lda, double* b,
         const integer_t ldb, double* q, const integer_t ldq, double* z,
@@ -55,7 +54,6 @@
     LAPACK_DTGEXC( &wantq, &wantz, &n, a, &lda, b, &ldb, q, &ldq, z, &ldz,
             &ifst, &ilst, work, &lwork, &info );
 }
-
 inline void tgexc( const logical_t wantq, const logical_t wantz,
         const integer_t n, traits::complex_f* a, const integer_t lda,
         traits::complex_f* b, const integer_t ldb, traits::complex_f* q,
@@ -65,7 +63,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(q), &ldq,
             traits::complex_ptr(z), &ldz, &ifst, &ilst, &info );
 }
-
 inline void tgexc( const logical_t wantq, const logical_t wantz,
         const integer_t n, traits::complex_d* a, const integer_t lda,
         traits::complex_d* b, const integer_t ldb, traits::complex_d* q,
@@ -75,7 +72,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(q), &ldq,
             traits::complex_ptr(z), &ldz, &ifst, &ilst, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -105,8 +101,10 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixZ >::value_type >::value) );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         detail::tgexc( wantq, wantz, n, traits::matrix_storage(a),
@@ -143,8 +141,10 @@
                 MatrixA >::value_type, typename traits::matrix_traits<
                 MatrixZ >::value_type >::value) );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::tgexc( wantq, wantz, n, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(q),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsen.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -49,7 +49,6 @@
             alphar, alphai, beta, q, &ldq, z, &ldz, &m, &pl, &pr, dif, work,
             &lwork, iwork, &liwork, &info );
 }
-
 inline void tgsen( const integer_t ijob, const logical_t wantq,
         const logical_t wantz, const logical_t* select, const integer_t n,
         double* a, const integer_t lda, double* b, const integer_t ldb,
@@ -62,7 +61,6 @@
             alphar, alphai, beta, q, &ldq, z, &ldz, &m, &pl, &pr, dif, work,
             &lwork, iwork, &liwork, &info );
 }
-
 inline void tgsen( const integer_t ijob, const logical_t wantq,
         const logical_t wantz, const logical_t* select, const integer_t n,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
@@ -77,7 +75,6 @@
             traits::complex_ptr(z), &ldz, &m, &pl, &pr, dif,
             traits::complex_ptr(work), &lwork, iwork, &liwork, &info );
 }
-
 inline void tgsen( const integer_t ijob, const logical_t wantq,
         const logical_t wantz, const logical_t* select, const integer_t n,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
@@ -93,7 +90,6 @@
             traits::complex_ptr(z), &ldz, &m, &pl, &pr, dif,
             traits::complex_ptr(work), &lwork, iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -141,8 +137,10 @@
                 VectorDIF >::value_type >::value) );
         BOOST_ASSERT( traits::vector_size(select) >= n );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(alphar) >= n );
         BOOST_ASSERT( traits::vector_size(alphai) >= n );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -253,8 +251,10 @@
                 MatrixZ >::value_type >::value) );
         BOOST_ASSERT( traits::vector_size(select) >= n );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(alpha) >= n );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsja.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             &tola, &tolb, alpha, beta, u, &ldu, v, &ldv, q, &ldq, work,
             &ncycle, &info );
 }
-
 inline void tgsja( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t p, const integer_t n,
         const integer_t k, const integer_t l, double* a, const integer_t lda,
@@ -60,7 +59,6 @@
             &tola, &tolb, alpha, beta, u, &ldu, v, &ldv, q, &ldq, work,
             &ncycle, &info );
 }
-
 inline void tgsja( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t p, const integer_t n,
         const integer_t k, const integer_t l, traits::complex_f* a,
@@ -75,7 +73,6 @@
             traits::complex_ptr(v), &ldv, traits::complex_ptr(q), &ldq,
             traits::complex_ptr(work), &ncycle, &info );
 }
-
 inline void tgsja( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t p, const integer_t n,
         const integer_t k, const integer_t l, traits::complex_d* a,
@@ -90,7 +87,6 @@
             traits::complex_ptr(v), &ldv, traits::complex_ptr(q), &ldq,
             traits::complex_ptr(work), &ncycle, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -138,10 +134,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -230,10 +226,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsna.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsna.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsna.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -47,7 +47,6 @@
     LAPACK_STGSNA( &job, &howmny, select, &n, a, &lda, b, &ldb, vl, &ldvl, vr,
             &ldvr, s, dif, &mm, &m, work, &lwork, iwork, &info );
 }
-
 inline void tgsna( const char job, const char howmny, const logical_t* select,
         const integer_t n, const double* a, const integer_t lda,
         const double* b, const integer_t ldb, const double* vl,
@@ -58,7 +57,6 @@
     LAPACK_DTGSNA( &job, &howmny, select, &n, a, &lda, b, &ldb, vl, &ldvl, vr,
             &ldvr, s, dif, &mm, &m, work, &lwork, iwork, &info );
 }
-
 inline void tgsna( const char job, const char howmny, const logical_t* select,
         const integer_t n, const traits::complex_f* a, const integer_t lda,
         const traits::complex_f* b, const integer_t ldb,
@@ -71,7 +69,6 @@
             traits::complex_ptr(vr), &ldvr, s, dif, &mm, &m,
             traits::complex_ptr(work), &lwork, iwork, &info );
 }
-
 inline void tgsna( const char job, const char howmny, const logical_t* select,
         const integer_t n, const traits::complex_d* a, const integer_t lda,
         const traits::complex_d* b, const integer_t ldb,
@@ -85,7 +82,6 @@
             traits::complex_ptr(vr), &ldvr, s, dif, &mm, &m,
             traits::complex_ptr(work), &lwork, iwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -126,8 +122,10 @@
         BOOST_ASSERT( job == 'E' || job == 'V' || job == 'B' );
         BOOST_ASSERT( howmny == 'A' || howmny == 'S' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( mm >= m );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
@@ -226,8 +224,10 @@
         BOOST_ASSERT( job == 'E' || job == 'V' || job == 'B' );
         BOOST_ASSERT( howmny == 'A' || howmny == 'S' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( mm >= m );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tgsyl.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
     LAPACK_STGSYL( &trans, &ijob, &m, &n, a, &lda, b, &ldb, c, &ldc, d, &ldd,
             e, &lde, f, &ldf, &scale, &dif, work, &lwork, iwork, &info );
 }
-
 inline void tgsyl( const char trans, const integer_t ijob, const integer_t m,
         const integer_t n, const double* a, const integer_t lda,
         const double* b, const integer_t ldb, double* c, const integer_t ldc,
@@ -59,7 +58,6 @@
     LAPACK_DTGSYL( &trans, &ijob, &m, &n, a, &lda, b, &ldb, c, &ldc, d, &ldd,
             e, &lde, f, &ldf, &scale, &dif, work, &lwork, iwork, &info );
 }
-
 inline void tgsyl( const char trans, const integer_t ijob, const integer_t m,
         const integer_t n, const traits::complex_f* a, const integer_t lda,
         const traits::complex_f* b, const integer_t ldb, traits::complex_f* c,
@@ -74,7 +72,6 @@
             traits::complex_ptr(f), &ldf, &scale, &dif,
             traits::complex_ptr(work), &lwork, iwork, &info );
 }
-
 inline void tgsyl( const char trans, const integer_t ijob, const integer_t m,
         const integer_t n, const traits::complex_d* a, const integer_t lda,
         const traits::complex_d* b, const integer_t ldb, traits::complex_d* c,
@@ -89,7 +86,6 @@
             traits::complex_ptr(f), &ldf, &scale, &dif,
             traits::complex_ptr(work), &lwork, iwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tprfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_STPRFS( &uplo, &trans, &diag, &n, &nrhs, ap, b, &ldb, x, &ldx,
             ferr, berr, work, iwork, &info );
 }
-
 inline void tprfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const double* ap,
         const double* b, const integer_t ldb, const double* x,
@@ -54,7 +53,6 @@
     LAPACK_DTPRFS( &uplo, &trans, &diag, &n, &nrhs, ap, b, &ldb, x, &ldx,
             ferr, berr, work, iwork, &info );
 }
-
 inline void tprfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const traits::complex_f* ap,
         const traits::complex_f* b, const integer_t ldb,
@@ -64,7 +62,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx, ferr,
             berr, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void tprfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const traits::complex_d* ap,
         const traits::complex_d* b, const integer_t ldb,
@@ -75,7 +72,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx, ferr,
             berr, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -114,8 +110,10 @@
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -193,8 +191,10 @@
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptri.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,22 +36,18 @@
         float* ap, integer_t& info ) {
     LAPACK_STPTRI( &uplo, &diag, &n, ap, &info );
 }
-
 inline void tptri( const char uplo, const char diag, const integer_t n,
         double* ap, integer_t& info ) {
     LAPACK_DTPTRI( &uplo, &diag, &n, ap, &info );
 }
-
 inline void tptri( const char uplo, const char diag, const integer_t n,
         traits::complex_f* ap, integer_t& info ) {
     LAPACK_CTPTRI( &uplo, &diag, &n, traits::complex_ptr(ap), &info );
 }
-
 inline void tptri( const char uplo, const char diag, const integer_t n,
         traits::complex_d* ap, integer_t& info ) {
     LAPACK_ZTPTRI( &uplo, &diag, &n, traits::complex_ptr(ap), &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tptrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,27 +37,23 @@
         const integer_t ldb, integer_t& info ) {
     LAPACK_STPTRS( &uplo, &trans, &diag, &n, &nrhs, ap, b, &ldb, &info );
 }
-
 inline void tptrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const double* ap, double* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_DTPTRS( &uplo, &trans, &diag, &n, &nrhs, ap, b, &ldb, &info );
 }
-
 inline void tptrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const traits::complex_f* ap,
         traits::complex_f* b, const integer_t ldb, integer_t& info ) {
     LAPACK_CTPTRS( &uplo, &trans, &diag, &n, &nrhs, traits::complex_ptr(ap),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void tptrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const traits::complex_d* ap,
         traits::complex_d* b, const integer_t ldb, integer_t& info ) {
     LAPACK_ZTPTRS( &uplo, &trans, &diag, &n, &nrhs, traits::complex_ptr(ap),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -80,7 +76,8 @@
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::tptrs( uplo, trans, diag, n, traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::matrix_storage(b),
                 traits::leading_dimension(b), info );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trcon.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,14 +43,12 @@
     LAPACK_STRCON( &norm, &uplo, &diag, &n, a, &lda, &rcond, work, iwork,
             &info );
 }
-
 inline void trcon( const char norm, const char uplo, const char diag,
         const integer_t n, const double* a, const integer_t lda,
         double& rcond, double* work, integer_t* iwork, integer_t& info ) {
     LAPACK_DTRCON( &norm, &uplo, &diag, &n, a, &lda, &rcond, work, iwork,
             &info );
 }
-
 inline void trcon( const char norm, const char uplo, const char diag,
         const integer_t n, const traits::complex_f* a, const integer_t lda,
         float& rcond, traits::complex_f* work, float* rwork,
@@ -58,7 +56,6 @@
     LAPACK_CTRCON( &norm, &uplo, &diag, &n, traits::complex_ptr(a), &lda,
             &rcond, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void trcon( const char norm, const char uplo, const char diag,
         const integer_t n, const traits::complex_d* a, const integer_t lda,
         double& rcond, traits::complex_d* work, double* rwork,
@@ -66,7 +63,6 @@
     LAPACK_ZTRCON( &norm, &uplo, &diag, &n, traits::complex_ptr(a), &lda,
             &rcond, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -89,8 +85,8 @@
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=
@@ -147,8 +143,8 @@
         BOOST_ASSERT( uplo == 'U' || uplo == 'L' );
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trevc.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_STREVC( &side, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr,
             &mm, &m, work, &info );
 }
-
 inline void trevc( const char side, const char howmny, logical_t* select,
         const integer_t n, const double* t, const integer_t ldt, double* vl,
         const integer_t ldvl, double* vr, const integer_t ldvr,
@@ -52,7 +51,6 @@
     LAPACK_DTREVC( &side, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr,
             &mm, &m, work, &info );
 }
-
 inline void trevc( const char side, const char howmny,
         const logical_t* select, const integer_t n, traits::complex_f* t,
         const integer_t ldt, traits::complex_f* vl, const integer_t ldvl,
@@ -63,7 +61,6 @@
             traits::complex_ptr(vl), &ldvl, traits::complex_ptr(vr), &ldvr,
             &mm, &m, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void trevc( const char side, const char howmny,
         const logical_t* select, const integer_t n, traits::complex_d* t,
         const integer_t ldt, traits::complex_d* vl, const integer_t ldvl,
@@ -74,7 +71,6 @@
             traits::complex_ptr(vl), &ldvl, traits::complex_ptr(vr), &ldvr,
             &mm, &m, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -104,8 +100,8 @@
         BOOST_ASSERT( side == 'R' || side == 'L' || side == 'B' );
         BOOST_ASSERT( howmny == 'A' || howmny == 'B' || howmny == 'S' );
         BOOST_ASSERT( traits::matrix_num_columns(t) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(t) >= std::max(1,
- traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(t) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
         BOOST_ASSERT( mm >= m );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(t) ));
@@ -169,8 +165,8 @@
         BOOST_ASSERT( side == 'R' || side == 'L' || side == 'B' );
         BOOST_ASSERT( howmny == 'A' || howmny == 'B' || howmny == 'S' );
         BOOST_ASSERT( traits::matrix_num_columns(t) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(t) >= std::max(1,
- traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(t) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
         BOOST_ASSERT( mm >= m );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(t) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trexc.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,27 +42,23 @@
         integer_t& ilst, float* work, integer_t& info ) {
     LAPACK_STREXC( &compq, &n, t, &ldt, q, &ldq, &ifst, &ilst, work, &info );
 }
-
 inline void trexc( const char compq, const integer_t n, double* t,
         const integer_t ldt, double* q, const integer_t ldq, integer_t& ifst,
         integer_t& ilst, double* work, integer_t& info ) {
     LAPACK_DTREXC( &compq, &n, t, &ldt, q, &ldq, &ifst, &ilst, work, &info );
 }
-
 inline void trexc( const char compq, const integer_t n, traits::complex_f* t,
         const integer_t ldt, traits::complex_f* q, const integer_t ldq,
         const integer_t ifst, const integer_t ilst, integer_t& info ) {
     LAPACK_CTREXC( &compq, &n, traits::complex_ptr(t), &ldt,
             traits::complex_ptr(q), &ldq, &ifst, &ilst, &info );
 }
-
 inline void trexc( const char compq, const integer_t n, traits::complex_d* t,
         const integer_t ldt, traits::complex_d* q, const integer_t ldq,
         const integer_t ifst, const integer_t ilst, integer_t& info ) {
     LAPACK_ZTREXC( &compq, &n, traits::complex_ptr(t), &ldt,
             traits::complex_ptr(q), &ldq, &ifst, &ilst, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -85,10 +81,10 @@
                 MatrixQ >::value_type >::value) );
         BOOST_ASSERT( compq == 'V' || compq == 'N' );
         BOOST_ASSERT( traits::matrix_num_columns(t) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(t) >= std::max(1,
- traits::matrix_num_columns(t)) );
- BOOST_ASSERT( traits::leading_dimension(q) >= std::max(1,
- traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(t) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(q) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(t) ));
         detail::trexc( compq, traits::matrix_num_columns(t),
@@ -115,10 +111,10 @@
                 MatrixQ >::value_type >::value) );
         BOOST_ASSERT( compq == 'V' || compq == 'N' );
         BOOST_ASSERT( traits::matrix_num_columns(t) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(t) >= std::max(1,
- traits::matrix_num_columns(t)) );
- BOOST_ASSERT( traits::leading_dimension(q) >= std::max(1,
- traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(t) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(q) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
         detail::trexc( compq, traits::matrix_num_columns(t),
                 traits::matrix_storage(t), traits::leading_dimension(t),
                 traits::matrix_storage(q), traits::leading_dimension(q), ifst,

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trrfs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_STRRFS( &uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, x, &ldx,
             ferr, berr, work, iwork, &info );
 }
-
 inline void trrfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const double* a,
         const integer_t lda, const double* b, const integer_t ldb,
@@ -54,7 +53,6 @@
     LAPACK_DTRRFS( &uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, x, &ldx,
             ferr, berr, work, iwork, &info );
 }
-
 inline void trrfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const traits::complex_f* a,
         const integer_t lda, const traits::complex_f* b, const integer_t ldb,
@@ -64,7 +62,6 @@
             &lda, traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx,
             ferr, berr, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void trrfs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const traits::complex_d* a,
         const integer_t lda, const traits::complex_d* b, const integer_t ldb,
@@ -75,7 +72,6 @@
             &lda, traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx,
             ferr, berr, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -114,12 +110,12 @@
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -200,12 +196,12 @@
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsen.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(q), &ldq, traits::complex_ptr(w), &m, &s,
             &sep, traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void trsen( const char job, const char compq, const logical_t* select,
         const integer_t n, traits::complex_d* t, const integer_t ldt,
         traits::complex_d* q, const integer_t ldq, traits::complex_d* w,
@@ -54,7 +53,6 @@
             traits::complex_ptr(q), &ldq, traits::complex_ptr(w), &m, &s,
             &sep, traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -82,8 +80,8 @@
         BOOST_ASSERT( traits::vector_size(select) >=
                 traits::matrix_num_columns(t) );
         BOOST_ASSERT( traits::matrix_num_columns(t) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(t) >= std::max(1,
- traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(t) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(t) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsna.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_STRSNA( &job, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr,
             s, sep, &mm, &m, work, &ldwork, iwork, &info );
 }
-
 inline void trsna( const char job, const char howmny, const logical_t* select,
         const integer_t n, const double* t, const integer_t ldt,
         const double* vl, const integer_t ldvl, const double* vr,
@@ -56,7 +55,6 @@
     LAPACK_DTRSNA( &job, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr,
             s, sep, &mm, &m, work, &ldwork, iwork, &info );
 }
-
 inline void trsna( const char job, const char howmny, const logical_t* select,
         const integer_t n, const traits::complex_f* t, const integer_t ldt,
         const traits::complex_f* vl, const integer_t ldvl,
@@ -67,7 +65,6 @@
             traits::complex_ptr(vl), &ldvl, traits::complex_ptr(vr), &ldvr, s,
             sep, &mm, &m, traits::complex_ptr(work), &ldwork, rwork, &info );
 }
-
 inline void trsna( const char job, const char howmny, const logical_t* select,
         const integer_t n, const traits::complex_d* t, const integer_t ldt,
         const traits::complex_d* vl, const integer_t ldvl,
@@ -79,7 +76,6 @@
             traits::complex_ptr(vl), &ldvl, traits::complex_ptr(vr), &ldvr, s,
             sep, &mm, &m, traits::complex_ptr(work), &ldwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -117,8 +113,8 @@
         BOOST_ASSERT( job == 'E' || job == 'V' || job == 'B' );
         BOOST_ASSERT( howmny == 'A' || howmny == 'S' );
         BOOST_ASSERT( traits::matrix_num_columns(t) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(t) >= std::max(1,
- traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(t) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
         BOOST_ASSERT( mm >= m );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
@@ -199,8 +195,8 @@
         BOOST_ASSERT( job == 'E' || job == 'V' || job == 'B' );
         BOOST_ASSERT( howmny == 'A' || howmny == 'S' );
         BOOST_ASSERT( traits::matrix_num_columns(t) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(t) >= std::max(1,
- traits::matrix_num_columns(t)) );
+ BOOST_ASSERT( traits::leading_dimension(t) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(t)) );
         BOOST_ASSERT( mm >= m );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trsyl.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_STRSYL( &trana, &tranb, &isgn, &m, &n, a, &lda, b, &ldb, c, &ldc,
             &scale, &info );
 }
-
 inline void trsyl( const char trana, const char tranb, const integer_t isgn,
         const integer_t m, const integer_t n, const double* a,
         const integer_t lda, const double* b, const integer_t ldb, double* c,
@@ -50,7 +49,6 @@
     LAPACK_DTRSYL( &trana, &tranb, &isgn, &m, &n, a, &lda, b, &ldb, c, &ldc,
             &scale, &info );
 }
-
 inline void trsyl( const char trana, const char tranb, const integer_t isgn,
         const integer_t m, const integer_t n, const traits::complex_f* a,
         const integer_t lda, const traits::complex_f* b, const integer_t ldb,
@@ -60,7 +58,6 @@
             &lda, traits::complex_ptr(b), &ldb, traits::complex_ptr(c), &ldc,
             &scale, &info );
 }
-
 inline void trsyl( const char trana, const char tranb, const integer_t isgn,
         const integer_t m, const integer_t n, const traits::complex_d* a,
         const integer_t lda, const traits::complex_d* b, const integer_t ldb,
@@ -70,7 +67,6 @@
             &lda, traits::complex_ptr(b), &ldb, traits::complex_ptr(c), &ldc,
             &scale, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -100,9 +96,12 @@
         BOOST_ASSERT( tranb == 'N' || tranb == 'T' || tranb == 'C' );
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,m) );
         detail::trsyl( trana, tranb, isgn, m, n, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(c),
@@ -133,9 +132,12 @@
         BOOST_ASSERT( tranb == 'N' || tranb == 'C' );
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,m) );
         detail::trsyl( trana, tranb, isgn, m, n, traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),
                 traits::leading_dimension(b), traits::matrix_storage(c),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtri.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,22 +36,18 @@
         float* a, const integer_t lda, integer_t& info ) {
     LAPACK_STRTRI( &uplo, &diag, &n, a, &lda, &info );
 }
-
 inline void trtri( const char uplo, const char diag, const integer_t n,
         double* a, const integer_t lda, integer_t& info ) {
     LAPACK_DTRTRI( &uplo, &diag, &n, a, &lda, &info );
 }
-
 inline void trtri( const char uplo, const char diag, const integer_t n,
         traits::complex_f* a, const integer_t lda, integer_t& info ) {
     LAPACK_CTRTRI( &uplo, &diag, &n, traits::complex_ptr(a), &lda, &info );
 }
-
 inline void trtri( const char uplo, const char diag, const integer_t n,
         traits::complex_d* a, const integer_t lda, integer_t& info ) {
     LAPACK_ZTRTRI( &uplo, &diag, &n, traits::complex_ptr(a), &lda, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -68,8 +64,8 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::trtri( traits::matrix_uplo_tag(a), diag,
                 traits::matrix_num_columns(a), traits::matrix_storage(a),
                 traits::leading_dimension(a), info );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/trtrs.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,14 +37,12 @@
         const integer_t lda, float* b, const integer_t ldb, integer_t& info ) {
     LAPACK_STRTRS( &uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, &info );
 }
-
 inline void trtrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const double* a,
         const integer_t lda, double* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_DTRTRS( &uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, &info );
 }
-
 inline void trtrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const traits::complex_f* a,
         const integer_t lda, traits::complex_f* b, const integer_t ldb,
@@ -52,7 +50,6 @@
     LAPACK_CTRTRS( &uplo, &trans, &diag, &n, &nrhs, traits::complex_ptr(a),
             &lda, traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void trtrs( const char uplo, const char trans, const char diag,
         const integer_t n, const integer_t nrhs, const traits::complex_d* a,
         const integer_t lda, traits::complex_d* b, const integer_t ldb,
@@ -60,7 +57,6 @@
     LAPACK_ZTRTRS( &uplo, &trans, &diag, &n, &nrhs, traits::complex_ptr(a),
             &lda, traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -82,10 +78,10 @@
         BOOST_ASSERT( diag == 'N' || diag == 'U' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::trtrs( uplo, trans, diag, traits::matrix_num_columns(a),
                 traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::matrix_storage(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/tzrzf.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,13 +43,11 @@
         integer_t& info ) {
     LAPACK_STZRZF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void tzrzf( const integer_t m, const integer_t n, double* a,
         const integer_t lda, double* tau, double* work, const integer_t lwork,
         integer_t& info ) {
     LAPACK_DTZRZF( &m, &n, a, &lda, tau, work, &lwork, &info );
 }
-
 inline void tzrzf( const integer_t m, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* tau, traits::complex_f* work,
         const integer_t lwork, integer_t& info ) {
@@ -57,7 +55,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void tzrzf( const integer_t m, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* tau, traits::complex_d* work,
         const integer_t lwork, integer_t& info ) {
@@ -65,7 +62,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -89,8 +85,8 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >=
                 traits::matrix_num_rows(a) );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
         BOOST_ASSERT( traits::vector_size(tau) >= traits::matrix_num_rows(a) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
@@ -146,8 +142,8 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >=
                 traits::matrix_num_rows(a) );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
         BOOST_ASSERT( traits::vector_size(tau) >= traits::matrix_num_rows(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungbr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void ungbr( const char vect, const integer_t m, const integer_t n,
         const integer_t k, traits::complex_d* a, const integer_t lda,
         const traits::complex_d* tau, traits::complex_d* work,
@@ -52,7 +51,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unghr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void unghr( const integer_t n, const integer_t ilo,
         const integer_t ihi, traits::complex_d* a, const integer_t lda,
         const traits::complex_d* tau, traits::complex_d* work,
@@ -52,7 +51,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -71,7 +69,8 @@
                 MatrixA >::value_type, typename traits::vector_traits<
                 VectorTAU >::value_type >::value) );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(tau) >= n-1 );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unglq.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void unglq( const integer_t m, const integer_t n, const integer_t k,
         traits::complex_d* a, const integer_t lda,
         const traits::complex_d* tau, traits::complex_d* work,
@@ -52,7 +51,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -73,7 +71,8 @@
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= m );
         BOOST_ASSERT( k >= k );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( m ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungql.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void ungql( const integer_t m, const integer_t n, const integer_t k,
         traits::complex_d* a, const integer_t lda,
         const traits::complex_d* tau, traits::complex_d* work,
@@ -52,7 +51,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -73,7 +71,8 @@
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= n );
         BOOST_ASSERT( k >= k );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungqr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void ungqr( const integer_t m, const integer_t n, const integer_t k,
         traits::complex_d* a, const integer_t lda,
         const traits::complex_d* tau, traits::complex_d* work,
@@ -52,7 +51,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -73,7 +71,8 @@
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= n );
         BOOST_ASSERT( k >= k );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungrq.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void ungrq( const integer_t m, const integer_t n, const integer_t k,
         traits::complex_d* a, const integer_t lda,
         const traits::complex_d* tau, traits::complex_d* work,
@@ -52,7 +51,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -73,7 +71,8 @@
         BOOST_ASSERT( m >= 0 );
         BOOST_ASSERT( n >= m );
         BOOST_ASSERT( k >= k );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,m) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( m ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/ungtr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void ungtr( const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, const traits::complex_d* tau,
         traits::complex_d* work, const integer_t lwork, integer_t& info ) {
@@ -50,7 +49,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmbr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             &lda, traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void unmbr( const char vect, const char side, const char trans,
         const integer_t m, const integer_t n, const integer_t k,
         const traits::complex_d* a, const integer_t lda,
@@ -56,7 +55,6 @@
             &lda, traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -84,9 +82,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
         BOOST_ASSERT( k >= 0 );
- BOOST_ASSERT( traits::vector_size(tau) >= std::min(?NQ,k) );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::vector_size(tau) >= std::min<
+ std::ptrdiff_t >(?NQ,k) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmhr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             &lda, traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void unmhr( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t ilo, const integer_t ihi,
         const traits::complex_d* a, const integer_t lda,
@@ -56,7 +55,6 @@
             &lda, traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -83,8 +81,8 @@
         BOOST_ASSERT( trans == 'N' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmlq.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void unmlq( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const traits::complex_d* a,
         const integer_t lda, const traits::complex_d* tau,
@@ -54,7 +53,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -80,10 +78,11 @@
         BOOST_ASSERT( trans == 'N' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,k) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,k) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmql.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void unmql( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const traits::complex_d* a,
         const integer_t lda, const traits::complex_d* tau,
@@ -54,7 +53,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -81,8 +79,8 @@
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmqr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void unmqr( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const traits::complex_d* a,
         const integer_t lda, const traits::complex_d* tau,
@@ -54,7 +53,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -81,8 +79,8 @@
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrq.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void unmrq( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const traits::complex_d* a,
         const integer_t lda, const traits::complex_d* tau,
@@ -54,7 +53,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -80,10 +78,11 @@
         BOOST_ASSERT( trans == 'N' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,k) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,k) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmrz.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             &lda, traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void unmrz( const char side, const char trans, const integer_t m,
         const integer_t n, const integer_t k, const integer_t l,
         const traits::complex_d* a, const integer_t lda,
@@ -56,7 +55,6 @@
             &lda, traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -82,10 +80,11 @@
         BOOST_ASSERT( trans == 'N' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,k) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,k) );
         BOOST_ASSERT( traits::vector_size(tau) >= k );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         detail::unmrz( side, trans, traits::matrix_num_rows(c),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/unmtr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void unmtr( const char side, const char uplo, const char trans,
         const integer_t m, const integer_t n, const traits::complex_d* a,
         const integer_t lda, const traits::complex_d* tau,
@@ -54,7 +53,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -82,8 +80,8 @@
         BOOST_ASSERT( trans == 'N' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( side, traits::matrix_num_rows(c),
                 traits::matrix_num_columns(c) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upgtr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(q), &ldq,
             traits::complex_ptr(work), &info );
 }
-
 inline void upgtr( const char uplo, const integer_t n,
         const traits::complex_d* ap, const traits::complex_d* tau,
         traits::complex_d* q, const integer_t ldq, traits::complex_d* work,
@@ -51,7 +50,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(q), &ldq,
             traits::complex_ptr(work), &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -80,8 +78,8 @@
                 1)/2 );
         BOOST_ASSERT( traits::vector_size(tau) >=
                 traits::matrix_num_columns(q)-1 );
- BOOST_ASSERT( traits::leading_dimension(q) >= std::max(1,
- traits::matrix_num_columns(q)) );
+ BOOST_ASSERT( traits::leading_dimension(q) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(q)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(q) ));
         detail::upgtr( uplo, traits::matrix_num_columns(q),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/computational/upmtr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &info );
 }
-
 inline void upmtr( const char side, const char uplo, const char trans,
         const integer_t m, const integer_t n, const traits::complex_d* ap,
         const traits::complex_d* tau, traits::complex_d* c,
@@ -51,7 +50,6 @@
             traits::complex_ptr(tau), traits::complex_ptr(c), &ldc,
             traits::complex_ptr(work), &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -78,8 +76,8 @@
         BOOST_ASSERT( trans == 'N' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_rows(c) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(c) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(c) >= std::max(1,
- traits::matrix_num_rows(c)) );
+ BOOST_ASSERT( traits::leading_dimension(c) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(c)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         detail::upmtr( side, uplo, trans, traits::matrix_num_rows(c),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -1,14 +1,107 @@
 //
-// Copyright (c) 2009 Rutger ter Borg
+// Copyright (c) 2003--2009
+// Toon Knapen, Karl Meerbergen, Kresimir Fresl,
+// Thomas Klimpel and Rutger ter Borg
 //
 // Distributed under the Boost Software License, Version 1.0.
 // (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 //
+// THIS FILE IS AUTOMATICALLY GENERATED
+// PLEASE DO NOT EDIT!
+//
 
 #ifndef BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPP
 #define BOOST_NUMERIC_BINDINGS_LAPACK_DRIVER_HPP
 
-#include <boost/numeric/bindings/lapack/solve.hpp>
+#include <boost/numeric/bindings/lapack/driver/gegv.hpp>
+#include <boost/numeric/bindings/lapack/driver/gges.hpp>
+#include <boost/numeric/bindings/lapack/driver/ggesx.hpp>
+#include <boost/numeric/bindings/lapack/driver/ggev.hpp>
+#include <boost/numeric/bindings/lapack/driver/ggevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/ggsvd.hpp>
+#include <boost/numeric/bindings/lapack/driver/hbgv.hpp>
+#include <boost/numeric/bindings/lapack/driver/hbgvd.hpp>
+#include <boost/numeric/bindings/lapack/driver/hbgvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/hegv.hpp>
+#include <boost/numeric/bindings/lapack/driver/hegvd.hpp>
+#include <boost/numeric/bindings/lapack/driver/hegvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/hpgv.hpp>
+#include <boost/numeric/bindings/lapack/driver/hpgvd.hpp>
+#include <boost/numeric/bindings/lapack/driver/hpgvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/lacgv.hpp>
+#include <boost/numeric/bindings/lapack/driver/largv.hpp>
+#include <boost/numeric/bindings/lapack/driver/sbgv.hpp>
+#include <boost/numeric/bindings/lapack/driver/sbgvd.hpp>
+#include <boost/numeric/bindings/lapack/driver/sbgvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/spgv.hpp>
+#include <boost/numeric/bindings/lapack/driver/spgvd.hpp>
+#include <boost/numeric/bindings/lapack/driver/spgvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/sygv.hpp>
+#include <boost/numeric/bindings/lapack/driver/sygvd.hpp>
+#include <boost/numeric/bindings/lapack/driver/sygvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/ggglm.hpp>
+#include <boost/numeric/bindings/lapack/driver/gglse.hpp>
+#include <boost/numeric/bindings/lapack/driver/cgesv.hpp>
+#include <boost/numeric/bindings/lapack/driver/cposv.hpp>
+#include <boost/numeric/bindings/lapack/driver/gbsv.hpp>
+#include <boost/numeric/bindings/lapack/driver/gbsvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/gesv.hpp>
+#include <boost/numeric/bindings/lapack/driver/gesvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/gtsv.hpp>
+#include <boost/numeric/bindings/lapack/driver/gtsvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/hesv.hpp>
+#include <boost/numeric/bindings/lapack/driver/hesvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/hpsv.hpp>
+#include <boost/numeric/bindings/lapack/driver/hpsvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/pbsv.hpp>
+#include <boost/numeric/bindings/lapack/driver/pbsvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/posv.hpp>
+#include <boost/numeric/bindings/lapack/driver/posvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/ppsv.hpp>
+#include <boost/numeric/bindings/lapack/driver/ppsvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/ptsv.hpp>
+#include <boost/numeric/bindings/lapack/driver/ptsvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/sgesv.hpp>
+#include <boost/numeric/bindings/lapack/driver/sposv.hpp>
+#include <boost/numeric/bindings/lapack/driver/spsv.hpp>
+#include <boost/numeric/bindings/lapack/driver/spsvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/sysv.hpp>
+#include <boost/numeric/bindings/lapack/driver/sysvx.hpp>
+#include <boost/numeric/bindings/lapack/driver/gees.hpp>
+#include <boost/numeric/bindings/lapack/driver/geesx.hpp>
+#include <boost/numeric/bindings/lapack/driver/geev.hpp>
+#include <boost/numeric/bindings/lapack/driver/geevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/gesdd.hpp>
+#include <boost/numeric/bindings/lapack/driver/gesvd.hpp>
+#include <boost/numeric/bindings/lapack/driver/hbev.hpp>
+#include <boost/numeric/bindings/lapack/driver/hbevd.hpp>
+#include <boost/numeric/bindings/lapack/driver/hbevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/heev.hpp>
+#include <boost/numeric/bindings/lapack/driver/heevd.hpp>
+#include <boost/numeric/bindings/lapack/driver/heevr.hpp>
+#include <boost/numeric/bindings/lapack/driver/heevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/hpev.hpp>
+#include <boost/numeric/bindings/lapack/driver/hpevd.hpp>
+#include <boost/numeric/bindings/lapack/driver/hpevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/sbev.hpp>
+#include <boost/numeric/bindings/lapack/driver/sbevd.hpp>
+#include <boost/numeric/bindings/lapack/driver/sbevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/spev.hpp>
+#include <boost/numeric/bindings/lapack/driver/spevd.hpp>
+#include <boost/numeric/bindings/lapack/driver/spevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/stev.hpp>
+#include <boost/numeric/bindings/lapack/driver/stevd.hpp>
+#include <boost/numeric/bindings/lapack/driver/stevr.hpp>
+#include <boost/numeric/bindings/lapack/driver/stevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/syev.hpp>
+#include <boost/numeric/bindings/lapack/driver/syevd.hpp>
+#include <boost/numeric/bindings/lapack/driver/syevr.hpp>
+#include <boost/numeric/bindings/lapack/driver/syevx.hpp>
+#include <boost/numeric/bindings/lapack/driver/gels.hpp>
+#include <boost/numeric/bindings/lapack/driver/gelsd.hpp>
+#include <boost/numeric/bindings/lapack/driver/gelss.hpp>
+#include <boost/numeric/bindings/lapack/driver/gelsy.hpp>
+#include <boost/numeric/bindings/lapack/driver/lalsd.hpp>
 
 #endif

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cgesv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             traits::complex_ptr(work), traits::complex_ptr(swork), rwork,
             &iter, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -69,14 +68,14 @@
                 MatrixX >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cposv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cposv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/cposv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(work), traits::complex_ptr(swork), rwork,
             &iter, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -70,12 +69,12 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -38,13 +38,11 @@
         integer_t* ipiv, float* b, const integer_t ldb, integer_t& info ) {
     LAPACK_SGBSV( &n, &kl, &ku, &nrhs, ab, &ldab, ipiv, b, &ldb, &info );
 }
-
 inline void gbsv( const integer_t n, const integer_t kl, const integer_t ku,
         const integer_t nrhs, double* ab, const integer_t ldab,
         integer_t* ipiv, double* b, const integer_t ldb, integer_t& info ) {
     LAPACK_DGBSV( &n, &kl, &ku, &nrhs, ab, &ldab, ipiv, b, &ldb, &info );
 }
-
 inline void gbsv( const integer_t n, const integer_t kl, const integer_t ku,
         const integer_t nrhs, traits::complex_f* ab, const integer_t ldab,
         integer_t* ipiv, traits::complex_f* b, const integer_t ldb,
@@ -52,7 +50,6 @@
     LAPACK_CGBSV( &n, &kl, &ku, &nrhs, traits::complex_ptr(ab), &ldab, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void gbsv( const integer_t n, const integer_t kl, const integer_t ku,
         const integer_t nrhs, traits::complex_d* ab, const integer_t ldab,
         integer_t* ipiv, traits::complex_d* b, const integer_t ldb,
@@ -60,7 +57,6 @@
     LAPACK_ZGBSV( &n, &kl, &ku, &nrhs, traits::complex_ptr(ab), &ldab, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -101,8 +97,8 @@
         BOOST_ASSERT( traits::leading_dimension(ab) >= 2 );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(ab) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ab)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ab)) );
         detail::gbsv( traits::matrix_num_columns(ab), kl, ku,
                 traits::matrix_num_columns(b), traits::matrix_storage(ab),
                 traits::leading_dimension(ab), traits::vector_storage(ipiv),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gbsvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             ipiv, &equed, r, c, b, &ldb, x, &ldx, &rcond, ferr, berr, work,
             iwork, &info );
 }
-
 inline void gbsvx( const char fact, const char trans, const integer_t n,
         const integer_t kl, const integer_t ku, const integer_t nrhs,
         double* ab, const integer_t ldab, double* afb, const integer_t ldafb,
@@ -60,7 +59,6 @@
             ipiv, &equed, r, c, b, &ldb, x, &ldx, &rcond, ferr, berr, work,
             iwork, &info );
 }
-
 inline void gbsvx( const char fact, const char trans, const integer_t n,
         const integer_t kl, const integer_t ku, const integer_t nrhs,
         traits::complex_f* ab, const integer_t ldab, traits::complex_f* afb,
@@ -74,7 +72,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gbsvx( const char fact, const char trans, const integer_t n,
         const integer_t kl, const integer_t ku, const integer_t nrhs,
         traits::complex_d* ab, const integer_t ldab, traits::complex_d* afb,
@@ -89,7 +86,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -145,8 +141,10 @@
         BOOST_ASSERT( traits::leading_dimension(afb) >= 2 );
         BOOST_ASSERT( equed == 'N' || equed == 'R' || equed == 'C' ||
                 equed == 'B' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -251,8 +249,10 @@
         BOOST_ASSERT( traits::leading_dimension(afb) >= 2 );
         BOOST_ASSERT( equed == 'N' || equed == 'R' || equed == 'C' ||
                 equed == 'B' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gees.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGEES( &jobvs, &sort, &select, &n, a, &lda, &sdim, wr, wi, vs,
             &ldvs, work, &lwork, bwork, &info );
 }
-
 inline void gees( const char jobvs, const char sort, logical_t* select,
         const integer_t n, double* a, const integer_t lda, integer_t& sdim,
         double* wr, double* wi, double* vs, const integer_t ldvs,
@@ -54,7 +53,6 @@
     LAPACK_DGEES( &jobvs, &sort, &select, &n, a, &lda, &sdim, wr, wi, vs,
             &ldvs, work, &lwork, bwork, &info );
 }
-
 inline void gees( const char jobvs, const char sort, logical_t* select,
         const integer_t n, traits::complex_f* a, const integer_t lda,
         integer_t& sdim, traits::complex_f* w, traits::complex_f* vs,
@@ -64,7 +62,6 @@
             &sdim, traits::complex_ptr(w), traits::complex_ptr(vs), &ldvs,
             traits::complex_ptr(work), &lwork, rwork, bwork, &info );
 }
-
 inline void gees( const char jobvs, const char sort, logical_t* select,
         const integer_t n, traits::complex_d* a, const integer_t lda,
         integer_t& sdim, traits::complex_d* w, traits::complex_d* vs,
@@ -74,7 +71,6 @@
             &sdim, traits::complex_ptr(w), traits::complex_ptr(vs), &ldvs,
             traits::complex_ptr(work), &lwork, rwork, bwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -107,8 +103,8 @@
         BOOST_ASSERT( jobvs == 'N' || jobvs == 'V' );
         BOOST_ASSERT( sort == 'N' || sort == 'S' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(wr) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(wi) >=
@@ -195,8 +191,8 @@
         BOOST_ASSERT( jobvs == 'N' || jobvs == 'V' );
         BOOST_ASSERT( sort == 'N' || sort == 'S' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geesx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             vs, &ldvs, &rconde, &rcondv, work, &lwork, iwork, &liwork, bwork,
             &info );
 }
-
 inline void geesx( const char jobvs, const char sort, logical_t* select,
         const char sense, const integer_t n, double* a, const integer_t lda,
         integer_t& sdim, double* wr, double* wi, double* vs,
@@ -59,7 +58,6 @@
             vs, &ldvs, &rconde, &rcondv, work, &lwork, iwork, &liwork, bwork,
             &info );
 }
-
 inline void geesx( const char jobvs, const char sort, logical_t* select,
         const char sense, const integer_t n, traits::complex_f* a,
         const integer_t lda, integer_t& sdim, traits::complex_f* w,
@@ -71,7 +69,6 @@
             &ldvs, &rconde, &rcondv, traits::complex_ptr(work), &lwork, rwork,
             bwork, &info );
 }
-
 inline void geesx( const char jobvs, const char sort, logical_t* select,
         const char sense, const integer_t n, traits::complex_d* a,
         const integer_t lda, integer_t& sdim, traits::complex_d* w,
@@ -83,7 +80,6 @@
             &ldvs, &rconde, &rcondv, traits::complex_ptr(work), &lwork, rwork,
             bwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -118,8 +114,8 @@
         BOOST_ASSERT( sense == 'N' || sense == 'E' || sense == 'V' ||
                 sense == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(wr) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(wi) >=
@@ -232,8 +228,8 @@
         BOOST_ASSERT( sense == 'N' || sense == 'E' || sense == 'V' ||
                 sense == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGEEV( &jobvl, &jobvr, &n, a, &lda, wr, wi, vl, &ldvl, vr, &ldvr,
             work, &lwork, &info );
 }
-
 inline void geev( const char jobvl, const char jobvr, const integer_t n,
         double* a, const integer_t lda, double* wr, double* wi, double* vl,
         const integer_t ldvl, double* vr, const integer_t ldvr, double* work,
@@ -53,7 +52,6 @@
     LAPACK_DGEEV( &jobvl, &jobvr, &n, a, &lda, wr, wi, vl, &ldvl, vr, &ldvr,
             work, &lwork, &info );
 }
-
 inline void geev( const char jobvl, const char jobvr, const integer_t n,
         traits::complex_f* a, const integer_t lda, traits::complex_f* w,
         traits::complex_f* vl, const integer_t ldvl, traits::complex_f* vr,
@@ -64,7 +62,6 @@
             traits::complex_ptr(vr), &ldvr, traits::complex_ptr(work), &lwork,
             rwork, &info );
 }
-
 inline void geev( const char jobvl, const char jobvr, const integer_t n,
         traits::complex_d* a, const integer_t lda, traits::complex_d* w,
         traits::complex_d* vl, const integer_t ldvl, traits::complex_d* vr,
@@ -75,7 +72,6 @@
             traits::complex_ptr(vr), &ldvr, traits::complex_ptr(work), &lwork,
             rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -110,8 +106,8 @@
         BOOST_ASSERT( jobvl == 'N' || jobvl == 'V' );
         BOOST_ASSERT( jobvr == 'N' || jobvr == 'V' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(wr) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(wi) >=
@@ -190,8 +186,8 @@
         BOOST_ASSERT( jobvl == 'N' || jobvl == 'V' );
         BOOST_ASSERT( jobvr == 'N' || jobvr == 'V' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/geevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             &ldvl, vr, &ldvr, &ilo, &ihi, scale, &abnrm, rconde, rcondv, work,
             &lwork, iwork, &info );
 }
-
 inline void geevx( const char balanc, const char jobvl, const char jobvr,
         const char sense, const integer_t n, double* a, const integer_t lda,
         double* wr, double* wi, double* vl, const integer_t ldvl, double* vr,
@@ -59,7 +58,6 @@
             &ldvl, vr, &ldvr, &ilo, &ihi, scale, &abnrm, rconde, rcondv, work,
             &lwork, iwork, &info );
 }
-
 inline void geevx( const char balanc, const char jobvl, const char jobvr,
         const char sense, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* w, traits::complex_f* vl,
@@ -73,7 +71,6 @@
             &ilo, &ihi, scale, &abnrm, rconde, rcondv,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 inline void geevx( const char balanc, const char jobvl, const char jobvr,
         const char sense, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* w, traits::complex_d* vl,
@@ -87,7 +84,6 @@
             &ilo, &ihi, scale, &abnrm, rconde, rcondv,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -142,8 +138,8 @@
         BOOST_ASSERT( sense == 'N' || sense == 'E' || sense == 'V' ||
                 sense == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(wr) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(wi) >=
@@ -277,8 +273,8 @@
         BOOST_ASSERT( sense == 'N' || sense == 'E' || sense == 'V' ||
                 sense == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(rconde) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gegv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SGEGV( &jobvl, &jobvr, &n, a, &lda, b, &ldb, alphar, alphai, beta,
             vl, &ldvl, vr, &ldvr, work, &lwork, &info );
 }
-
 inline void gegv( const char jobvl, const char jobvr, const integer_t n,
         double* a, const integer_t lda, double* b, const integer_t ldb,
         double* alphar, double* alphai, double* beta, double* vl,
@@ -55,7 +54,6 @@
     LAPACK_DGEGV( &jobvl, &jobvr, &n, a, &lda, b, &ldb, alphar, alphai, beta,
             vl, &ldvl, vr, &ldvr, work, &lwork, &info );
 }
-
 inline void gegv( const char jobvl, const char jobvr, const integer_t n,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, traits::complex_f* alpha,
@@ -68,7 +66,6 @@
             traits::complex_ptr(vr), &ldvr, traits::complex_ptr(work), &lwork,
             rwork, &info );
 }
-
 inline void gegv( const char jobvl, const char jobvr, const integer_t n,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, traits::complex_d* alpha,
@@ -81,7 +78,6 @@
             traits::complex_ptr(vr), &ldvr, traits::complex_ptr(work), &lwork,
             rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -124,10 +120,10 @@
         BOOST_ASSERT( jobvl == 'N' || jobvl == 'V' );
         BOOST_ASSERT( jobvr == 'N' || jobvr == 'V' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alphar) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(beta) >=
@@ -220,10 +216,10 @@
         BOOST_ASSERT( jobvl == 'N' || jobvl == 'V' );
         BOOST_ASSERT( jobvr == 'N' || jobvr == 'V' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(beta) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gels.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGELS( &trans, &m, &n, &nrhs, a, &lda, b, &ldb, work, &lwork,
             &info );
 }
-
 inline void gels( const char trans, const integer_t m, const integer_t n,
         const integer_t nrhs, double* a, const integer_t lda, double* b,
         const integer_t ldb, double* work, const integer_t lwork,
@@ -53,7 +52,6 @@
     LAPACK_DGELS( &trans, &m, &n, &nrhs, a, &lda, b, &ldb, work, &lwork,
             &info );
 }
-
 inline void gels( const char trans, const integer_t m, const integer_t n,
         const integer_t nrhs, traits::complex_f* a, const integer_t lda,
         traits::complex_f* b, const integer_t ldb, traits::complex_f* work,
@@ -62,7 +60,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void gels( const char trans, const integer_t m, const integer_t n,
         const integer_t nrhs, traits::complex_d* a, const integer_t lda,
         traits::complex_d* b, const integer_t ldb, traits::complex_d* work,
@@ -71,7 +68,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -96,10 +92,11 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- std::max(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,std::max<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a))) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_rows(a),
@@ -163,10 +160,11 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- std::max(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,std::max<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a))) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_rows(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SGELSD( &m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work,
             &lwork, iwork, &info );
 }
-
 inline void gelsd( const integer_t m, const integer_t n, const integer_t nrhs,
         const double* a, const integer_t lda, double* b, const integer_t ldb,
         double* s, const double rcond, integer_t& rank, double* work,
@@ -54,7 +53,6 @@
     LAPACK_DGELSD( &m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work,
             &lwork, iwork, &info );
 }
-
 inline void gelsd( const integer_t m, const integer_t n, const integer_t nrhs,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, float* s, const float rcond, integer_t& rank,
@@ -64,7 +62,6 @@
             traits::complex_ptr(b), &ldb, s, &rcond, &rank,
             traits::complex_ptr(work), &lwork, rwork, iwork, &info );
 }
-
 inline void gelsd( const integer_t m, const integer_t n, const integer_t nrhs,
         const traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, double* s, const double rcond, integer_t& rank,
@@ -74,7 +71,6 @@
             traits::complex_ptr(b), &ldb, s, &rcond, &rank,
             traits::complex_ptr(work), &lwork, rwork, iwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -109,13 +105,14 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- std::max(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,std::max<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a))) );
- BOOST_ASSERT( traits::vector_size(s) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::vector_size(s) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( minmn, smlsiz, nlvl,
@@ -208,13 +205,14 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- std::max(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,std::max<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a))) );
- BOOST_ASSERT( traits::vector_size(s) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::vector_size(s) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( minmn, traits::matrix_num_columns(b) ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelss.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGELSS( &m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work,
             &lwork, &info );
 }
-
 inline void gelss( const integer_t m, const integer_t n, const integer_t nrhs,
         double* a, const integer_t lda, double* b, const integer_t ldb,
         double* s, const double rcond, integer_t& rank, double* work,
@@ -53,7 +52,6 @@
     LAPACK_DGELSS( &m, &n, &nrhs, a, &lda, b, &ldb, s, &rcond, &rank, work,
             &lwork, &info );
 }
-
 inline void gelss( const integer_t m, const integer_t n, const integer_t nrhs,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, float* s, const float rcond, integer_t& rank,
@@ -63,7 +61,6 @@
             traits::complex_ptr(b), &ldb, s, &rcond, &rank,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 inline void gelss( const integer_t m, const integer_t n, const integer_t nrhs,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, double* s, const double rcond, integer_t& rank,
@@ -73,7 +70,6 @@
             traits::complex_ptr(b), &ldb, s, &rcond, &rank,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -102,13 +98,14 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- std::max(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,std::max<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a))) );
- BOOST_ASSERT( traits::vector_size(s) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::vector_size(s) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_rows(a),
@@ -180,13 +177,14 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- std::max(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,std::max<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a))) );
- BOOST_ASSERT( traits::vector_size(s) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::vector_size(s) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_rows(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gelsy.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGELSY( &m, &n, &nrhs, a, &lda, b, &ldb, jpvt, &rcond, &rank, work,
             &lwork, &info );
 }
-
 inline void gelsy( const integer_t m, const integer_t n, const integer_t nrhs,
         double* a, const integer_t lda, double* b, const integer_t ldb,
         integer_t* jpvt, const double rcond, integer_t& rank, double* work,
@@ -53,7 +52,6 @@
     LAPACK_DGELSY( &m, &n, &nrhs, a, &lda, b, &ldb, jpvt, &rcond, &rank, work,
             &lwork, &info );
 }
-
 inline void gelsy( const integer_t m, const integer_t n, const integer_t nrhs,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, integer_t* jpvt, const float rcond,
@@ -63,7 +61,6 @@
             traits::complex_ptr(b), &ldb, jpvt, &rcond, &rank,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 inline void gelsy( const integer_t m, const integer_t n, const integer_t nrhs,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, integer_t* jpvt, const double rcond,
@@ -73,7 +70,6 @@
             traits::complex_ptr(b), &ldb, jpvt, &rcond, &rank,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -99,10 +95,11 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- std::max(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,std::max<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a))) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_rows(a),
@@ -171,10 +168,11 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- std::max(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,std::max<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a))) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_rows(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesdd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGESDD( &jobz, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work,
             &lwork, iwork, &info );
 }
-
 inline void gesdd( const char jobz, const integer_t m, const integer_t n,
         double* a, const integer_t lda, double* s, double* u,
         const integer_t ldu, double* vt, const integer_t ldvt, double* work,
@@ -53,7 +52,6 @@
     LAPACK_DGESDD( &jobz, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt, work,
             &lwork, iwork, &info );
 }
-
 inline void gesdd( const char jobz, const integer_t m, const integer_t n,
         traits::complex_f* a, const integer_t lda, float* s,
         traits::complex_f* u, const integer_t ldu, traits::complex_f* vt,
@@ -63,7 +61,6 @@
             traits::complex_ptr(u), &ldu, traits::complex_ptr(vt), &ldvt,
             traits::complex_ptr(work), &lwork, rwork, iwork, &info );
 }
-
 inline void gesdd( const char jobz, const integer_t m, const integer_t n,
         traits::complex_d* a, const integer_t lda, double* s,
         traits::complex_d* u, const integer_t ldu, traits::complex_d* vt,
@@ -73,7 +70,6 @@
             traits::complex_ptr(u), &ldu, traits::complex_ptr(vt), &ldvt,
             traits::complex_ptr(work), &lwork, rwork, iwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -108,10 +104,10 @@
                 jobz == 'N' );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(s) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(s) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_rows(a),
@@ -191,10 +187,10 @@
                 jobz == 'N' );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(s) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(s) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_rows(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -38,27 +38,23 @@
         integer_t& info ) {
     LAPACK_SGESV( &n, &nrhs, a, &lda, ipiv, b, &ldb, &info );
 }
-
 inline void gesv( const integer_t n, const integer_t nrhs, double* a,
         const integer_t lda, integer_t* ipiv, double* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_DGESV( &n, &nrhs, a, &lda, ipiv, b, &ldb, &info );
 }
-
 inline void gesv( const integer_t n, const integer_t nrhs,
         traits::complex_f* a, const integer_t lda, integer_t* ipiv,
         traits::complex_f* b, const integer_t ldb, integer_t& info ) {
     LAPACK_CGESV( &n, &nrhs, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void gesv( const integer_t n, const integer_t nrhs,
         traits::complex_d* a, const integer_t lda, integer_t* ipiv,
         traits::complex_d* b, const integer_t ldb, integer_t& info ) {
     LAPACK_ZGESV( &n, &nrhs, traits::complex_ptr(a), &lda, ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -94,12 +90,12 @@
                 MatrixB >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::gesv( traits::matrix_num_columns(a),
                 traits::matrix_num_columns(b), traits::matrix_storage(a),
                 traits::leading_dimension(a), traits::vector_storage(ipiv),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGESVD( &jobu, &jobvt, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt,
             work, &lwork, &info );
 }
-
 inline void gesvd( const char jobu, const char jobvt, const integer_t m,
         const integer_t n, double* a, const integer_t lda, double* s,
         double* u, const integer_t ldu, double* vt, const integer_t ldvt,
@@ -53,7 +52,6 @@
     LAPACK_DGESVD( &jobu, &jobvt, &m, &n, a, &lda, s, u, &ldu, vt, &ldvt,
             work, &lwork, &info );
 }
-
 inline void gesvd( const char jobu, const char jobvt, const integer_t m,
         const integer_t n, traits::complex_f* a, const integer_t lda,
         float* s, traits::complex_f* u, const integer_t ldu,
@@ -63,7 +61,6 @@
             traits::complex_ptr(u), &ldu, traits::complex_ptr(vt), &ldvt,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 inline void gesvd( const char jobu, const char jobvt, const integer_t m,
         const integer_t n, traits::complex_d* a, const integer_t lda,
         double* s, traits::complex_d* u, const integer_t ldu,
@@ -73,7 +70,6 @@
             traits::complex_ptr(u), &ldu, traits::complex_ptr(vt), &ldvt,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -108,10 +104,10 @@
                 jobvt == 'N' );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(s) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(s) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_rows(a),
@@ -187,10 +183,10 @@
                 jobvt == 'N' );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::vector_size(s) >=
- std::min(traits::matrix_num_rows(a),
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::vector_size(s) >= std::min<
+ std::ptrdiff_t >(traits::matrix_num_rows(a),
                 traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_rows(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gesvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SGESVX( &fact, &trans, &n, &nrhs, a, &lda, af, &ldaf, ipiv, &equed,
             r, c, b, &ldb, x, &ldx, &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void gesvx( const char fact, const char trans, const integer_t n,
         const integer_t nrhs, double* a, const integer_t lda, double* af,
         const integer_t ldaf, integer_t* ipiv, char& equed, double* r,
@@ -56,7 +55,6 @@
     LAPACK_DGESVX( &fact, &trans, &n, &nrhs, a, &lda, af, &ldaf, ipiv, &equed,
             r, c, b, &ldb, x, &ldx, &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void gesvx( const char fact, const char trans, const integer_t n,
         const integer_t nrhs, traits::complex_f* a, const integer_t lda,
         traits::complex_f* af, const integer_t ldaf, integer_t* ipiv,
@@ -69,7 +67,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx,
             &rcond, ferr, berr, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gesvx( const char fact, const char trans, const integer_t n,
         const integer_t nrhs, traits::complex_d* a, const integer_t lda,
         traits::complex_d* af, const integer_t ldaf, integer_t* ipiv,
@@ -82,7 +79,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx,
             &rcond, ferr, berr, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -131,16 +127,16 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( equed == 'N' || equed == 'R' || equed == 'C' ||
                 equed == 'B' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -238,16 +234,16 @@
         BOOST_ASSERT( trans == 'N' || trans == 'T' || trans == 'C' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( equed == 'N' || equed == 'R' || equed == 'C' ||
                 equed == 'B' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gges.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             &sdim, alphar, alphai, beta, vsl, &ldvsl, vsr, &ldvsr, work,
             &lwork, bwork, &info );
 }
-
 inline void gges( const char jobvsl, const char jobvsr, const char sort,
         logical_t* selctg, const integer_t n, double* a, const integer_t lda,
         double* b, const integer_t ldb, integer_t& sdim, double* alphar,
@@ -59,7 +58,6 @@
             &sdim, alphar, alphai, beta, vsl, &ldvsl, vsr, &ldvsr, work,
             &lwork, bwork, &info );
 }
-
 inline void gges( const char jobvsl, const char jobvsr, const char sort,
         logical_t* selctg, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* b, const integer_t ldb,
@@ -73,7 +71,6 @@
             traits::complex_ptr(vsl), &ldvsl, traits::complex_ptr(vsr),
             &ldvsr, traits::complex_ptr(work), &lwork, rwork, bwork, &info );
 }
-
 inline void gges( const char jobvsl, const char jobvsr, const char sort,
         logical_t* selctg, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* b, const integer_t ldb,
@@ -87,7 +84,6 @@
             traits::complex_ptr(vsl), &ldvsl, traits::complex_ptr(vsr),
             &ldvsr, traits::complex_ptr(work), &lwork, rwork, bwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -132,10 +128,10 @@
         BOOST_ASSERT( jobvsr == 'N' || jobvsr == 'V' );
         BOOST_ASSERT( sort == 'N' || sort == 'S' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alphar) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(alphai) >=
@@ -248,10 +244,10 @@
         BOOST_ASSERT( jobvsr == 'N' || jobvsr == 'V' );
         BOOST_ASSERT( sort == 'N' || sort == 'S' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(beta) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggesx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -50,7 +50,6 @@
             &ldb, &sdim, alphar, alphai, beta, vsl, &ldvsl, vsr, &ldvsr,
             rconde, rcondv, work, &lwork, iwork, &liwork, bwork, &info );
 }
-
 inline void ggesx( const char jobvsl, const char jobvsr, const char sort,
         logical_t* selctg, const char sense, const integer_t n, double* a,
         const integer_t lda, double* b, const integer_t ldb, integer_t& sdim,
@@ -63,7 +62,6 @@
             &ldb, &sdim, alphar, alphai, beta, vsl, &ldvsl, vsr, &ldvsr,
             rconde, rcondv, work, &lwork, iwork, &liwork, bwork, &info );
 }
-
 inline void ggesx( const char jobvsl, const char jobvsr, const char sort,
         logical_t* selctg, const char sense, const integer_t n,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
@@ -80,7 +78,6 @@
             &ldvsr, rconde, rcondv, traits::complex_ptr(work), &lwork, rwork,
             iwork, &liwork, bwork, &info );
 }
-
 inline void ggesx( const char jobvsl, const char jobvsr, const char sort,
         logical_t* selctg, const char sense, const integer_t n,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
@@ -97,7 +94,6 @@
             &ldvsr, rconde, rcondv, traits::complex_ptr(work), &lwork, rwork,
             iwork, &liwork, bwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -152,10 +148,10 @@
         BOOST_ASSERT( sense == 'N' || sense == 'E' || sense == 'V' ||
                 sense == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alphar) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(alphai) >=
@@ -303,10 +299,10 @@
         BOOST_ASSERT( sense == 'N' || sense == 'E' || sense == 'V' ||
                 sense == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(beta) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SGGEV( &jobvl, &jobvr, &n, a, &lda, b, &ldb, alphar, alphai, beta,
             vl, &ldvl, vr, &ldvr, work, &lwork, &info );
 }
-
 inline void ggev( const char jobvl, const char jobvr, const integer_t n,
         double* a, const integer_t lda, double* b, const integer_t ldb,
         double* alphar, double* alphai, double* beta, double* vl,
@@ -55,7 +54,6 @@
     LAPACK_DGGEV( &jobvl, &jobvr, &n, a, &lda, b, &ldb, alphar, alphai, beta,
             vl, &ldvl, vr, &ldvr, work, &lwork, &info );
 }
-
 inline void ggev( const char jobvl, const char jobvr, const integer_t n,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, traits::complex_f* alpha,
@@ -68,7 +66,6 @@
             traits::complex_ptr(vr), &ldvr, traits::complex_ptr(work), &lwork,
             rwork, &info );
 }
-
 inline void ggev( const char jobvl, const char jobvr, const integer_t n,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, traits::complex_d* alpha,
@@ -81,7 +78,6 @@
             traits::complex_ptr(vr), &ldvr, traits::complex_ptr(work), &lwork,
             rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -124,10 +120,10 @@
         BOOST_ASSERT( jobvl == 'N' || jobvl == 'V' );
         BOOST_ASSERT( jobvr == 'N' || jobvr == 'V' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alphar) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(alphai) >=
@@ -220,10 +216,10 @@
         BOOST_ASSERT( jobvl == 'N' || jobvl == 'V' );
         BOOST_ASSERT( jobvr == 'N' || jobvr == 'V' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(beta) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -51,7 +51,6 @@
             rscale, &abnrm, &bbnrm, rconde, rcondv, work, &lwork, iwork,
             bwork, &info );
 }
-
 inline void ggevx( const char balanc, const char jobvl, const char jobvr,
         const char sense, const integer_t n, double* a, const integer_t lda,
         double* b, const integer_t ldb, double* alphar, double* alphai,
@@ -65,7 +64,6 @@
             rscale, &abnrm, &bbnrm, rconde, rcondv, work, &lwork, iwork,
             bwork, &info );
 }
-
 inline void ggevx( const char balanc, const char jobvl, const char jobvr,
         const char sense, const integer_t n, traits::complex_f* a,
         const integer_t lda, traits::complex_f* b, const integer_t ldb,
@@ -82,7 +80,6 @@
             &ilo, &ihi, lscale, rscale, &abnrm, &bbnrm, rconde, rcondv,
             traits::complex_ptr(work), &lwork, rwork, iwork, bwork, &info );
 }
-
 inline void ggevx( const char balanc, const char jobvl, const char jobvr,
         const char sense, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* b, const integer_t ldb,
@@ -99,7 +96,6 @@
             &ilo, &ihi, lscale, rscale, &abnrm, &bbnrm, rconde, rcondv,
             traits::complex_ptr(work), &lwork, rwork, iwork, bwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -163,10 +159,10 @@
         BOOST_ASSERT( sense == 'N' || sense == 'E' || sense == 'V' ||
                 sense == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alphar) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(alphai) >=
@@ -332,10 +328,10 @@
         BOOST_ASSERT( sense == 'N' || sense == 'E' || sense == 'V' ||
                 sense == 'B' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(beta) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggglm.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGGGLM( &n, &m, &p, a, &lda, b, &ldb, d, x, y, work, &lwork,
             &info );
 }
-
 inline void ggglm( const integer_t n, const integer_t m, const integer_t p,
         double* a, const integer_t lda, double* b, const integer_t ldb,
         double* d, double* x, double* y, double* work, const integer_t lwork,
@@ -53,7 +52,6 @@
     LAPACK_DGGGLM( &n, &m, &p, a, &lda, b, &ldb, d, x, y, work, &lwork,
             &info );
 }
-
 inline void ggglm( const integer_t n, const integer_t m, const integer_t p,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, traits::complex_f* d, traits::complex_f* x,
@@ -64,7 +62,6 @@
             traits::complex_ptr(x), traits::complex_ptr(y),
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void ggglm( const integer_t n, const integer_t m, const integer_t p,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, traits::complex_d* d, traits::complex_d* x,
@@ -75,7 +72,6 @@
             traits::complex_ptr(x), traits::complex_ptr(y),
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -109,10 +105,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >=
                 traits::matrix_num_rows(b)-traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(b)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(d) >= traits::matrix_num_rows(b) );
         BOOST_ASSERT( traits::vector_size(x) >=
                 traits::matrix_num_columns(a) );
@@ -192,10 +188,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >=
                 traits::matrix_num_rows(b)-traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(b)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(d) >= traits::matrix_num_rows(b) );
         BOOST_ASSERT( traits::vector_size(x) >=
                 traits::matrix_num_columns(a) );

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gglse.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SGGLSE( &m, &n, &p, a, &lda, b, &ldb, c, d, x, work, &lwork,
             &info );
 }
-
 inline void gglse( const integer_t m, const integer_t n, const integer_t p,
         double* a, const integer_t lda, double* b, const integer_t ldb,
         double* c, double* d, double* x, double* work, const integer_t lwork,
@@ -53,7 +52,6 @@
     LAPACK_DGGLSE( &m, &n, &p, a, &lda, b, &ldb, c, d, x, work, &lwork,
             &info );
 }
-
 inline void gglse( const integer_t m, const integer_t n, const integer_t p,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, traits::complex_f* c, traits::complex_f* d,
@@ -64,7 +62,6 @@
             traits::complex_ptr(d), traits::complex_ptr(x),
             traits::complex_ptr(work), &lwork, &info );
 }
-
 inline void gglse( const integer_t m, const integer_t n, const integer_t p,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, traits::complex_d* c, traits::complex_d* d,
@@ -75,7 +72,6 @@
             traits::complex_ptr(d), traits::complex_ptr(x),
             traits::complex_ptr(work), &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -108,10 +104,10 @@
                 VectorX >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(c) >= traits::matrix_num_rows(a) );
         BOOST_ASSERT( traits::vector_size(d) >= traits::matrix_num_rows(b) );
         BOOST_ASSERT( traits::vector_size(x) >=
@@ -189,10 +185,10 @@
                 VectorX >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(c) >= traits::matrix_num_rows(a) );
         BOOST_ASSERT( traits::vector_size(d) >= traits::matrix_num_rows(b) );
         BOOST_ASSERT( traits::vector_size(x) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ggsvd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SGGSVD( &jobu, &jobv, &jobq, &m, &n, &p, &k, &l, a, &lda, b, &ldb,
             alpha, beta, u, &ldu, v, &ldv, q, &ldq, work, iwork, &info );
 }
-
 inline void ggsvd( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t n, const integer_t p, integer_t& k,
         integer_t& l, double* a, const integer_t lda, double* b,
@@ -57,7 +56,6 @@
     LAPACK_DGGSVD( &jobu, &jobv, &jobq, &m, &n, &p, &k, &l, a, &lda, b, &ldb,
             alpha, beta, u, &ldu, v, &ldv, q, &ldq, work, iwork, &info );
 }
-
 inline void ggsvd( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t n, const integer_t p, integer_t& k,
         integer_t& l, traits::complex_f* a, const integer_t lda,
@@ -72,7 +70,6 @@
             traits::complex_ptr(q), &ldq, traits::complex_ptr(work), rwork,
             iwork, &info );
 }
-
 inline void ggsvd( const char jobu, const char jobv, const char jobq,
         const integer_t m, const integer_t n, const integer_t p, integer_t& k,
         integer_t& l, traits::complex_d* a, const integer_t lda,
@@ -87,7 +84,6 @@
             traits::complex_ptr(q), &ldq, traits::complex_ptr(work), rwork,
             iwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -134,10 +130,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -188,7 +184,8 @@
 
     static integer_t min_size_work( const integer_t n, const integer_t m,
             const integer_t p ) {
- return std::max(3*n,std::max(m,p))+n;
+ return std::max< std::ptrdiff_t >(3*n,std::max< std::ptrdiff_t >(m,p))+
+ n;
     }
 
     static integer_t min_size_iwork( const integer_t n ) {
@@ -233,10 +230,10 @@
         BOOST_ASSERT( traits::matrix_num_rows(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::matrix_num_rows(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_rows(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_rows(b)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_rows(b)) );
         BOOST_ASSERT( traits::vector_size(alpha) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
@@ -292,7 +289,8 @@
 
     static integer_t min_size_work( const integer_t n, const integer_t m,
             const integer_t p ) {
- return std::max(3*n,std::max(m,p))+n;
+ return std::max< std::ptrdiff_t >(3*n,std::max< std::ptrdiff_t >(m,p))+
+ n;
     }
 
     static integer_t min_size_rwork( const integer_t n ) {

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,27 +36,23 @@
         float* d, float* du, float* b, const integer_t ldb, integer_t& info ) {
     LAPACK_SGTSV( &n, &nrhs, dl, d, du, b, &ldb, &info );
 }
-
 inline void gtsv( const integer_t n, const integer_t nrhs, double* dl,
         double* d, double* du, double* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_DGTSV( &n, &nrhs, dl, d, du, b, &ldb, &info );
 }
-
 inline void gtsv( const integer_t n, const integer_t nrhs,
         traits::complex_f* dl, traits::complex_f* d, traits::complex_f* du,
         traits::complex_f* b, const integer_t ldb, integer_t& info ) {
     LAPACK_CGTSV( &n, &nrhs, traits::complex_ptr(dl), traits::complex_ptr(d),
             traits::complex_ptr(du), traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void gtsv( const integer_t n, const integer_t nrhs,
         traits::complex_d* dl, traits::complex_d* d, traits::complex_d* du,
         traits::complex_d* b, const integer_t ldb, integer_t& info ) {
     LAPACK_ZGTSV( &n, &nrhs, traits::complex_ptr(dl), traits::complex_ptr(d),
             traits::complex_ptr(du), traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -94,7 +90,8 @@
         BOOST_ASSERT( traits::vector_size(dl) >= n-1 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
         BOOST_ASSERT( traits::vector_size(du) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::gtsv( n, traits::matrix_num_columns(b),
                 traits::vector_storage(dl), traits::vector_storage(d),
                 traits::vector_storage(du), traits::matrix_storage(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/gtsvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SGTSVX( &fact, &trans, &n, &nrhs, dl, d, du, dlf, df, duf, du2,
             ipiv, b, &ldb, x, &ldx, &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void gtsvx( const char fact, const char trans, const integer_t n,
         const integer_t nrhs, const double* dl, const double* d,
         const double* du, double* dlf, double* df, double* duf, double* du2,
@@ -56,7 +55,6 @@
     LAPACK_DGTSVX( &fact, &trans, &n, &nrhs, dl, d, du, dlf, df, duf, du2,
             ipiv, b, &ldb, x, &ldx, &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void gtsvx( const char fact, const char trans, const integer_t n,
         const integer_t nrhs, const traits::complex_f* dl,
         const traits::complex_f* d, const traits::complex_f* du,
@@ -72,7 +70,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx,
             &rcond, ferr, berr, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void gtsvx( const char fact, const char trans, const integer_t n,
         const integer_t nrhs, const traits::complex_d* dl,
         const traits::complex_d* d, const traits::complex_d* du,
@@ -88,7 +85,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx,
             &rcond, ferr, berr, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -151,8 +147,10 @@
         BOOST_ASSERT( traits::vector_size(dl) >= n-1 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
         BOOST_ASSERT( traits::vector_size(du) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -266,8 +264,10 @@
         BOOST_ASSERT( traits::vector_size(dl) >= n-1 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
         BOOST_ASSERT( traits::vector_size(du) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(b) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), rwork,
             &info );
 }
-
 inline void hbev( const char jobz, const char uplo, const integer_t n,
         const integer_t kd, traits::complex_d* ab, const integer_t ldab,
         double* w, traits::complex_d* z, const integer_t ldz,
@@ -51,7 +50,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), rwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -112,7 +110,7 @@
     }
 
     static integer_t min_size_rwork( const integer_t n ) {
- return std::max(1,3*n-2);
+ return std::max< std::ptrdiff_t >(1,3*n-2);
     }
 };
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), &lwork,
             rwork, &lrwork, iwork, &liwork, &info );
 }
-
 inline void hbevd( const char jobz, const char uplo, const integer_t n,
         const integer_t kd, traits::complex_d* ab, const integer_t ldab,
         double* w, traits::complex_d* z, const integer_t ldz,
@@ -56,7 +55,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), &lwork,
             rwork, &lrwork, iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
             &m, w, traits::complex_ptr(z), &ldz, traits::complex_ptr(work),
             rwork, iwork, ifail, &info );
 }
-
 inline void hbevx( const char jobz, const char range, const char uplo,
         const integer_t n, const integer_t kd, traits::complex_d* ab,
         const integer_t ldab, traits::complex_d* q, const integer_t ldq,
@@ -59,7 +58,6 @@
             &m, w, traits::complex_ptr(z), &ldz, traits::complex_ptr(work),
             rwork, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -92,7 +90,8 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( kd >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd );
- BOOST_ASSERT( traits::leading_dimension(q) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(q) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(w) >= n );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(bb), &ldbb, w, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void hbgv( const char jobz, const char uplo, const integer_t n,
         const integer_t ka, const integer_t kb, traits::complex_d* ab,
         const integer_t ldab, traits::complex_d* bb, const integer_t ldbb,
@@ -53,7 +52,6 @@
             traits::complex_ptr(bb), &ldbb, w, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -47,7 +47,6 @@
             traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork, &liwork,
             &info );
 }
-
 inline void hbgvd( const char jobz, const char uplo, const integer_t n,
         const integer_t ka, const integer_t kb, traits::complex_d* ab,
         const integer_t ldab, traits::complex_d* bb, const integer_t ldbb,
@@ -60,7 +59,6 @@
             traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork, &liwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hbgvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), rwork,
             iwork, ifail, &info );
 }
-
 inline void hbgvx( const char jobz, const char range, const char uplo,
         const integer_t n, const integer_t ka, const integer_t kb,
         traits::complex_d* ab, const integer_t ldab, traits::complex_d* bb,
@@ -63,7 +62,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), rwork,
             iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_CHEEV( &jobz, &uplo, &n, traits::complex_ptr(a), &lda, w,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 inline void heev( const char jobz, const char uplo, const integer_t n,
         traits::complex_d* a, const integer_t lda, double* w,
         traits::complex_d* work, const integer_t lwork, double* rwork,
@@ -50,7 +49,6 @@
     LAPACK_ZHEEV( &jobz, &uplo, &n, traits::complex_ptr(a), &lda, w,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -69,8 +67,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork, &liwork,
             &info );
 }
-
 inline void heevd( const char jobz, const char uplo, const integer_t n,
         traits::complex_d* a, const integer_t lda, double* w,
         traits::complex_d* work, const integer_t lwork, double* rwork,
@@ -54,7 +53,6 @@
             traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork, &liwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -73,8 +71,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( jobz, traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             isuppz, traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork,
             &liwork, &info );
 }
-
 inline void heevr( const char jobz, const char range, const char uplo,
         const integer_t n, traits::complex_d* a, const integer_t lda,
         const double vl, const double vu, const integer_t il,
@@ -62,7 +61,6 @@
             isuppz, traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork,
             &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -89,11 +87,12 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::vector_size(isuppz) >= 2*std::max(1,m) );
+ BOOST_ASSERT( traits::vector_size(isuppz) >= 2*std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/heevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
             &vl, &vu, &il, &iu, &abstol, &m, w, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), &lwork, rwork, iwork, ifail, &info );
 }
-
 inline void heevx( const char jobz, const char range, const char uplo,
         const integer_t n, traits::complex_d* a, const integer_t lda,
         const double vl, const double vu, const integer_t il,
@@ -58,7 +57,6 @@
             &vl, &vu, &il, &iu, &abstol, &m, w, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), &lwork, rwork, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -85,8 +83,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(b), &ldb, w, traits::complex_ptr(work),
             &lwork, rwork, &info );
 }
-
 inline void hegv( const integer_t itype, const char jobz, const char uplo,
         const integer_t n, traits::complex_d* a, const integer_t lda,
         traits::complex_d* b, const integer_t ldb, double* w,
@@ -54,7 +53,6 @@
             traits::complex_ptr(b), &ldb, w, traits::complex_ptr(work),
             &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -77,8 +75,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( n ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             traits::complex_ptr(b), &ldb, w, traits::complex_ptr(work),
             &lwork, rwork, &lrwork, iwork, &liwork, &info );
 }
-
 inline void hegvd( const integer_t itype, const char jobz, const char uplo,
         const integer_t n, traits::complex_d* a, const integer_t lda,
         traits::complex_d* b, const integer_t ldb, double* w,
@@ -56,7 +55,6 @@
             traits::complex_ptr(b), &ldb, w, traits::complex_ptr(work),
             &lwork, rwork, &lrwork, iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -79,8 +77,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( jobz, n ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hegvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -48,7 +48,6 @@
             &m, w, traits::complex_ptr(z), &ldz, traits::complex_ptr(work),
             &lwork, rwork, iwork, ifail, &info );
 }
-
 inline void hegvx( const integer_t itype, const char jobz, const char range,
         const char uplo, const integer_t n, traits::complex_d* a,
         const integer_t lda, traits::complex_d* b, const integer_t ldb,
@@ -62,7 +61,6 @@
             &m, w, traits::complex_ptr(z), &ldz, traits::complex_ptr(work),
             &lwork, rwork, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -93,8 +91,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(w) >= n );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void hesv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_d* a, const integer_t lda, integer_t* ipiv,
         traits::complex_d* b, const integer_t ldb, traits::complex_d* work,
@@ -52,7 +51,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -91,12 +89,12 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
- min_size_work( ));
+ min_size_work());
         detail::hesv( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
@@ -110,7 +108,7 @@
     template< typename MatrixA, typename VectorIPIV, typename MatrixB >
     static void invoke( MatrixA& a, VectorIPIV& ipiv, MatrixB& b,
             integer_t& info, minimal_workspace work ) {
- traits::detail::array< value_type > tmp_work( min_size_work( ) );
+ traits::detail::array< value_type > tmp_work( min_size_work() );
         invoke( a, ipiv, b, info, workspace( tmp_work ) );
     }
 
@@ -129,7 +127,7 @@
         invoke( a, ipiv, b, info, workspace( tmp_work ) );
     }
 
- static integer_t min_size_work( ) {
+ static integer_t min_size_work() {
         return 1;
     }
 };

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hesvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -47,7 +47,6 @@
             &ldb, traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 inline void hesvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, const traits::complex_d* a, const integer_t lda,
         traits::complex_d* af, const integer_t ldaf, integer_t* ipiv,
@@ -60,7 +59,6 @@
             &ldb, traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -95,14 +93,14 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), rwork,
             &info );
 }
-
 inline void hpev( const char jobz, const char uplo, const integer_t n,
         traits::complex_d* ap, double* w, traits::complex_d* z,
         const integer_t ldz, traits::complex_d* work, double* rwork,
@@ -51,7 +50,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), rwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -102,11 +100,11 @@
     }
 
     static integer_t min_size_work( const integer_t n ) {
- return std::max(1,2*n-1);
+ return std::max< std::ptrdiff_t >(1,2*n-1);
     }
 
     static integer_t min_size_rwork( const integer_t n ) {
- return std::max(1,3*n-2);
+ return std::max< std::ptrdiff_t >(1,3*n-2);
     }
 };
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), &lwork,
             rwork, &lrwork, iwork, &liwork, &info );
 }
-
 inline void hpevd( const char jobz, const char uplo, const integer_t n,
         traits::complex_d* ap, double* w, traits::complex_d* z,
         const integer_t ldz, traits::complex_d* work, const integer_t lwork,
@@ -54,7 +53,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), &lwork,
             rwork, &lrwork, iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
             &vu, &il, &iu, &abstol, &m, w, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), rwork, iwork, ifail, &info );
 }
-
 inline void hpevx( const char jobz, const char range, const char uplo,
         const integer_t n, traits::complex_d* ap, const double vl,
         const double vu, const integer_t il, const integer_t iu,
@@ -55,7 +54,6 @@
             &vu, &il, &iu, &abstol, &m, w, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), rwork, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
             traits::complex_ptr(bp), w, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void hpgv( const integer_t itype, const char jobz, const char uplo,
         const integer_t n, traits::complex_d* ap, traits::complex_d* bp,
         double* w, traits::complex_d* z, const integer_t ldz,
@@ -51,7 +50,6 @@
             traits::complex_ptr(bp), w, traits::complex_ptr(z), &ldz,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -112,11 +110,11 @@
     }
 
     static integer_t min_size_work( const integer_t n ) {
- return std::max(1,2*n-1);
+ return std::max< std::ptrdiff_t >(1,2*n-1);
     }
 
     static integer_t min_size_rwork( const integer_t n ) {
- return std::max(1,3*n-2);
+ return std::max< std::ptrdiff_t >(1,3*n-2);
     }
 };
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
             traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork, &liwork,
             &info );
 }
-
 inline void hpgvd( const integer_t itype, const char jobz, const char uplo,
         const integer_t n, traits::complex_d* ap, traits::complex_d* bp,
         double* w, traits::complex_d* z, const integer_t ldz,
@@ -58,7 +57,6 @@
             traits::complex_ptr(work), &lwork, rwork, &lrwork, iwork, &liwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpgvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), rwork,
             iwork, ifail, &info );
 }
-
 inline void hpgvx( const integer_t itype, const char jobz, const char range,
         const char uplo, const integer_t n, traits::complex_d* ap,
         traits::complex_d* bp, const double vl, const double vu,
@@ -59,7 +58,6 @@
             traits::complex_ptr(z), &ldz, traits::complex_ptr(work), rwork,
             iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -38,14 +38,12 @@
     LAPACK_CHPSV( &uplo, &n, &nrhs, traits::complex_ptr(ap), ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void hpsv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_d* ap, integer_t* ipiv, traits::complex_d* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_ZHPSV( &uplo, &n, &nrhs, traits::complex_ptr(ap), ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -83,8 +81,8 @@
                 traits::matrix_uplo_tag(ap) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(ap) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
         detail::hpsv( traits::matrix_uplo_tag(ap),
                 traits::matrix_num_columns(ap), traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::vector_storage(ipiv),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/hpsvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void hpsvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, const traits::complex_d* ap,
         traits::complex_d* afp, integer_t* ipiv, const traits::complex_d* b,
@@ -57,7 +56,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -93,8 +91,10 @@
                 traits::matrix_uplo_tag(ap) == 'L' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lacgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lacgv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lacgv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,12 +36,10 @@
         const integer_t incx ) {
     LAPACK_CLACGV( &n, traits::complex_ptr(x), &incx );
 }
-
 inline void lacgv( const integer_t n, traits::complex_d* x,
         const integer_t incx ) {
     LAPACK_ZLACGV( &n, traits::complex_ptr(x), &incx );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/lalsd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SLALSD( &uplo, &smlsiz, &n, &nrhs, d, e, b, &ldb, &rcond, &rank,
             work, iwork, &info );
 }
-
 inline void lalsd( const char uplo, const integer_t smlsiz, const integer_t n,
         const integer_t nrhs, double* d, double* e, double* b,
         const integer_t ldb, const double rcond, integer_t& rank,
@@ -52,7 +51,6 @@
     LAPACK_DLALSD( &uplo, &smlsiz, &n, &nrhs, d, e, b, &ldb, &rcond, &rank,
             work, iwork, &info );
 }
-
 inline void lalsd( const char uplo, const integer_t smlsiz, const integer_t n,
         const integer_t nrhs, float* d, float* e, traits::complex_f* b,
         const integer_t ldb, const float rcond, integer_t& rank,
@@ -62,7 +60,6 @@
             &ldb, &rcond, &rank, traits::complex_ptr(work), rwork, iwork,
             &info );
 }
-
 inline void lalsd( const char uplo, const integer_t smlsiz, const integer_t n,
         const integer_t nrhs, double* d, double* e, traits::complex_d* b,
         const integer_t ldb, const double rcond, integer_t& rank,
@@ -72,7 +69,6 @@
             &ldb, &rcond, &rank, traits::complex_ptr(work), rwork, iwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -107,7 +103,8 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 1 );
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n, smlsiz, nlvl,
                 traits::matrix_num_columns(b) ));
@@ -187,7 +184,8 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 1 );
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
                 min_size_work( n, traits::matrix_num_columns(b) ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/largv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/largv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/largv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,26 +39,22 @@
         float* y, const integer_t incy, float* c, const integer_t incc ) {
     LAPACK_SLARGV( &n, x, &incx, y, &incy, c, &incc );
 }
-
 inline void largv( const integer_t n, double* x, const integer_t incx,
         double* y, const integer_t incy, double* c, const integer_t incc ) {
     LAPACK_DLARGV( &n, x, &incx, y, &incy, c, &incc );
 }
-
 inline void largv( const integer_t n, traits::complex_f* x,
         const integer_t incx, traits::complex_f* y, const integer_t incy,
         float* c, const integer_t incc ) {
     LAPACK_CLARGV( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
             &incy, c, &incc );
 }
-
 inline void largv( const integer_t n, traits::complex_d* x,
         const integer_t incx, traits::complex_d* y, const integer_t incy,
         double* c, const integer_t incc ) {
     LAPACK_ZLARGV( &n, traits::complex_ptr(x), &incx, traits::complex_ptr(y),
             &incy, c, &incc );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,27 +37,23 @@
         const integer_t ldb, integer_t& info ) {
     LAPACK_SPBSV( &uplo, &n, &kd, &nrhs, ab, &ldab, b, &ldb, &info );
 }
-
 inline void pbsv( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, double* ab, const integer_t ldab, double* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_DPBSV( &uplo, &n, &kd, &nrhs, ab, &ldab, b, &ldb, &info );
 }
-
 inline void pbsv( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, traits::complex_f* ab, const integer_t ldab,
         traits::complex_f* b, const integer_t ldb, integer_t& info ) {
     LAPACK_CPBSV( &uplo, &n, &kd, &nrhs, traits::complex_ptr(ab), &ldab,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void pbsv( const char uplo, const integer_t n, const integer_t kd,
         const integer_t nrhs, traits::complex_d* ab, const integer_t ldab,
         traits::complex_d* b, const integer_t ldb, integer_t& info ) {
     LAPACK_ZPBSV( &uplo, &n, &kd, &nrhs, traits::complex_ptr(ab), &ldab,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -89,8 +85,8 @@
         BOOST_ASSERT( kd >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ab)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ab)) );
         detail::pbsv( traits::matrix_uplo_tag(ab),
                 traits::matrix_num_columns(ab), kd,
                 traits::matrix_num_columns(b), traits::matrix_storage(ab),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/pbsvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -47,7 +47,6 @@
             &equed, s, b, &ldb, x, &ldx, &rcond, ferr, berr, work, iwork,
             &info );
 }
-
 inline void pbsvx( const char fact, const char uplo, const integer_t n,
         const integer_t kd, const integer_t nrhs, double* ab,
         const integer_t ldab, double* afb, const integer_t ldafb, char& equed,
@@ -58,7 +57,6 @@
             &equed, s, b, &ldb, x, &ldx, &rcond, ferr, berr, work, iwork,
             &info );
 }
-
 inline void pbsvx( const char fact, const char uplo, const integer_t n,
         const integer_t kd, const integer_t nrhs, traits::complex_f* ab,
         const integer_t ldab, traits::complex_f* afb, const integer_t ldafb,
@@ -70,7 +68,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx,
             &rcond, ferr, berr, traits::complex_ptr(work), rwork, &info );
 }
-
 inline void pbsvx( const char fact, const char uplo, const integer_t n,
         const integer_t kd, const integer_t nrhs, traits::complex_d* ab,
         const integer_t ldab, traits::complex_d* afb, const integer_t ldafb,
@@ -83,7 +80,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(x), &ldx,
             &rcond, ferr, berr, traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -134,8 +130,10 @@
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
         BOOST_ASSERT( traits::leading_dimension(afb) >= kd+1 );
         BOOST_ASSERT( equed == 'N' || equed == 'Y' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -232,8 +230,10 @@
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd+1 );
         BOOST_ASSERT( traits::leading_dimension(afb) >= kd+1 );
         BOOST_ASSERT( equed == 'N' || equed == 'Y' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,27 +37,23 @@
         integer_t& info ) {
     LAPACK_SPOSV( &uplo, &n, &nrhs, a, &lda, b, &ldb, &info );
 }
-
 inline void posv( const char uplo, const integer_t n, const integer_t nrhs,
         double* a, const integer_t lda, double* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_DPOSV( &uplo, &n, &nrhs, a, &lda, b, &ldb, &info );
 }
-
 inline void posv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_f* a, const integer_t lda, traits::complex_f* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_CPOSV( &uplo, &n, &nrhs, traits::complex_ptr(a), &lda,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void posv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_d* a, const integer_t lda, traits::complex_d* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_ZPOSV( &uplo, &n, &nrhs, traits::complex_ptr(a), &lda,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -86,10 +82,10 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         detail::posv( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/posvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
     LAPACK_SPOSVX( &fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, &equed, s, b,
             &ldb, x, &ldx, &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void posvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, double* a, const integer_t lda, double* af,
         const integer_t ldaf, char& equed, double* s, double* b,
@@ -56,7 +55,6 @@
     LAPACK_DPOSVX( &fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, &equed, s, b,
             &ldb, x, &ldx, &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void posvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, traits::complex_f* a, const integer_t lda,
         traits::complex_f* af, const integer_t ldaf, char& equed, float* s,
@@ -68,7 +66,6 @@
             &ldb, traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void posvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, traits::complex_d* a, const integer_t lda,
         traits::complex_d* af, const integer_t ldaf, char& equed, double* s,
@@ -80,7 +77,6 @@
             &ldb, traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -126,15 +122,15 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( equed == 'N' || equed == 'Y' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -226,15 +222,15 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( equed == 'N' || equed == 'Y' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -36,26 +36,22 @@
         float* ap, float* b, const integer_t ldb, integer_t& info ) {
     LAPACK_SPPSV( &uplo, &n, &nrhs, ap, b, &ldb, &info );
 }
-
 inline void ppsv( const char uplo, const integer_t n, const integer_t nrhs,
         double* ap, double* b, const integer_t ldb, integer_t& info ) {
     LAPACK_DPPSV( &uplo, &n, &nrhs, ap, b, &ldb, &info );
 }
-
 inline void ppsv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_f* ap, traits::complex_f* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_CPPSV( &uplo, &n, &nrhs, traits::complex_ptr(ap),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void ppsv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_d* ap, traits::complex_d* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_ZPPSV( &uplo, &n, &nrhs, traits::complex_ptr(ap),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -84,8 +80,8 @@
                 traits::matrix_uplo_tag(ap) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(ap) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
         detail::ppsv( traits::matrix_uplo_tag(ap),
                 traits::matrix_num_columns(ap), traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::matrix_storage(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ppsvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SPPSVX( &fact, &uplo, &n, &nrhs, ap, afp, &equed, s, b, &ldb, x,
             &ldx, &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void ppsvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, double* ap, double* afp, char& equed, double* s,
         double* b, const integer_t ldb, double* x, const integer_t ldx,
@@ -54,7 +53,6 @@
     LAPACK_DPPSVX( &fact, &uplo, &n, &nrhs, ap, afp, &equed, s, b, &ldb, x,
             &ldx, &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void ppsvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, traits::complex_f* ap, traits::complex_f* afp,
         char& equed, float* s, traits::complex_f* b, const integer_t ldb,
@@ -65,7 +63,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void ppsvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, traits::complex_d* ap, traits::complex_d* afp,
         char& equed, double* s, traits::complex_d* b, const integer_t ldb,
@@ -77,7 +74,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -124,10 +120,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(ap) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( equed == 'N' || equed == 'Y' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ap)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -219,10 +215,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(ap) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( equed == 'N' || equed == 'Y' );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ap)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,26 +39,22 @@
         float* b, const integer_t ldb, integer_t& info ) {
     LAPACK_SPTSV( &n, &nrhs, d, e, b, &ldb, &info );
 }
-
 inline void ptsv( const integer_t n, const integer_t nrhs, double* d,
         double* e, double* b, const integer_t ldb, integer_t& info ) {
     LAPACK_DPTSV( &n, &nrhs, d, e, b, &ldb, &info );
 }
-
 inline void ptsv( const integer_t n, const integer_t nrhs, float* d,
         traits::complex_f* e, traits::complex_f* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_CPTSV( &n, &nrhs, d, traits::complex_ptr(e),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void ptsv( const integer_t n, const integer_t nrhs, double* d,
         traits::complex_d* e, traits::complex_d* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_ZPTSV( &n, &nrhs, d, traits::complex_ptr(e),
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -95,7 +91,8 @@
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::ptsv( n, traits::matrix_num_columns(b),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(b), traits::leading_dimension(b),
@@ -130,7 +127,8 @@
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         detail::ptsv( n, traits::matrix_num_columns(b),
                 traits::vector_storage(d), traits::vector_storage(e),
                 traits::matrix_storage(b), traits::leading_dimension(b),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/ptsvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SPTSVX( &fact, &n, &nrhs, d, e, df, ef, b, &ldb, x, &ldx, &rcond,
             ferr, berr, work, &info );
 }
-
 inline void ptsvx( const char fact, const integer_t n, const integer_t nrhs,
         const double* d, const double* e, double* df, double* ef,
         const double* b, const integer_t ldb, double* x, const integer_t ldx,
@@ -53,7 +52,6 @@
     LAPACK_DPTSVX( &fact, &n, &nrhs, d, e, df, ef, b, &ldb, x, &ldx, &rcond,
             ferr, berr, work, &info );
 }
-
 inline void ptsvx( const char fact, const integer_t n, const integer_t nrhs,
         const float* d, const traits::complex_f* e, float* df,
         traits::complex_f* ef, const traits::complex_f* b,
@@ -65,7 +63,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void ptsvx( const char fact, const integer_t n, const integer_t nrhs,
         const double* d, const traits::complex_d* e, double* df,
         traits::complex_d* ef, const traits::complex_d* b,
@@ -77,7 +74,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -125,8 +121,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -210,8 +208,10 @@
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
         BOOST_ASSERT( traits::vector_size(e) >= n-1 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,13 +39,11 @@
         float* z, const integer_t ldz, float* work, integer_t& info ) {
     LAPACK_SSBEV( &jobz, &uplo, &n, &kd, ab, &ldab, w, z, &ldz, work, &info );
 }
-
 inline void sbev( const char jobz, const char uplo, const integer_t n,
         const integer_t kd, double* ab, const integer_t ldab, double* w,
         double* z, const integer_t ldz, double* work, integer_t& info ) {
     LAPACK_DSBEV( &jobz, &uplo, &n, &kd, ab, &ldab, w, z, &ldz, work, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -100,7 +98,7 @@
     }
 
     static integer_t min_size_work( const integer_t n ) {
- return std::max(1,3*n-2);
+ return std::max< std::ptrdiff_t >(1,3*n-2);
     }
 };
 

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SSBEVD( &jobz, &uplo, &n, &kd, ab, &ldab, w, z, &ldz, work, &lwork,
             iwork, &liwork, &info );
 }
-
 inline void sbevd( const char jobz, const char uplo, const integer_t n,
         const integer_t kd, double* ab, const integer_t ldab, double* w,
         double* z, const integer_t ldz, double* work, const integer_t lwork,
@@ -50,7 +49,6 @@
     LAPACK_DSBEVD( &jobz, &uplo, &n, &kd, ab, &ldab, w, z, &ldz, work, &lwork,
             iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, iwork, ifail,
             &info );
 }
-
 inline void sbevx( const char jobz, const char range, const char uplo,
         const integer_t n, const integer_t kd, double* ab,
         const integer_t ldab, double* q, const integer_t ldq, const double vl,
@@ -57,7 +56,6 @@
             &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, iwork, ifail,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -93,7 +91,8 @@
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( kd >= 0 );
         BOOST_ASSERT( traits::leading_dimension(ab) >= kd );
- BOOST_ASSERT( traits::leading_dimension(q) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(q) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(w) >= n );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,7 +41,6 @@
     LAPACK_SSBGV( &jobz, &uplo, &n, &ka, &kb, ab, &ldab, bb, &ldbb, w, z,
             &ldz, work, &info );
 }
-
 inline void sbgv( const char jobz, const char uplo, const integer_t n,
         const integer_t ka, const integer_t kb, double* ab,
         const integer_t ldab, double* bb, const integer_t ldbb, double* w,
@@ -49,7 +48,6 @@
     LAPACK_DSBGV( &jobz, &uplo, &n, &ka, &kb, ab, &ldab, bb, &ldbb, w, z,
             &ldz, work, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
     LAPACK_SSBGVD( &jobz, &uplo, &n, &ka, &kb, ab, &ldab, bb, &ldbb, w, z,
             &ldz, work, &lwork, iwork, &liwork, &info );
 }
-
 inline void sbgvd( const char jobz, const char uplo, const integer_t n,
         const integer_t ka, const integer_t kb, double* ab,
         const integer_t ldab, double* bb, const integer_t ldbb, double* w,
@@ -52,7 +51,6 @@
     LAPACK_DSBGVD( &jobz, &uplo, &n, &ka, &kb, ab, &ldab, bb, &ldbb, w, z,
             &ldz, work, &lwork, iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sbgvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
             q, &ldq, &vl, &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, iwork,
             ifail, &info );
 }
-
 inline void sbgvx( const char jobz, const char range, const char uplo,
         const integer_t n, const integer_t ka, const integer_t kb, double* ab,
         const integer_t ldab, double* bb, const integer_t ldbb, double* q,
@@ -57,7 +56,6 @@
             q, &ldq, &vl, &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, iwork,
             ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sgesv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,7 +41,6 @@
     LAPACK_DSGESV( &n, &nrhs, a, &lda, ipiv, b, &ldb, x, &ldx, work, swork,
             &iter, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -65,14 +64,14 @@
                 MatrixX >::value_type >::value) );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(ipiv) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,13 +39,11 @@
         integer_t& info ) {
     LAPACK_SSPEV( &jobz, &uplo, &n, ap, w, z, &ldz, work, &info );
 }
-
 inline void spev( const char jobz, const char uplo, const integer_t n,
         double* ap, double* w, double* z, const integer_t ldz, double* work,
         integer_t& info ) {
     LAPACK_DSPEV( &jobz, &uplo, &n, ap, w, z, &ldz, work, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SSPEVD( &jobz, &uplo, &n, ap, w, z, &ldz, work, &lwork, iwork,
             &liwork, &info );
 }
-
 inline void spevd( const char jobz, const char uplo, const integer_t n,
         double* ap, double* w, double* z, const integer_t ldz, double* work,
         const integer_t lwork, integer_t* iwork, const integer_t liwork,
@@ -50,7 +49,6 @@
     LAPACK_DSPEVD( &jobz, &uplo, &n, ap, w, z, &ldz, work, &lwork, iwork,
             &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SSPEVX( &jobz, &range, &uplo, &n, ap, &vl, &vu, &il, &iu, &abstol,
             &m, w, z, &ldz, work, iwork, ifail, &info );
 }
-
 inline void spevx( const char jobz, const char range, const char uplo,
         const integer_t n, double* ap, const double vl, const double vu,
         const integer_t il, const integer_t iu, const double abstol,
@@ -51,7 +50,6 @@
     LAPACK_DSPEVX( &jobz, &range, &uplo, &n, ap, &vl, &vu, &il, &iu, &abstol,
             &m, w, z, &ldz, work, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -39,13 +39,11 @@
         const integer_t ldz, float* work, integer_t& info ) {
     LAPACK_SSPGV( &itype, &jobz, &uplo, &n, ap, bp, w, z, &ldz, work, &info );
 }
-
 inline void spgv( const integer_t itype, const char jobz, const char uplo,
         const integer_t n, double* ap, double* bp, double* w, double* z,
         const integer_t ldz, double* work, integer_t& info ) {
     LAPACK_DSPGV( &itype, &jobz, &uplo, &n, ap, bp, w, z, &ldz, work, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SSPGVD( &itype, &jobz, &uplo, &n, ap, bp, w, z, &ldz, work, &lwork,
             iwork, &liwork, &info );
 }
-
 inline void spgvd( const integer_t itype, const char jobz, const char uplo,
         const integer_t n, double* ap, double* bp, double* w, double* z,
         const integer_t ldz, double* work, const integer_t lwork,
@@ -50,7 +49,6 @@
     LAPACK_DSPGVD( &itype, &jobz, &uplo, &n, ap, bp, w, z, &ldz, work, &lwork,
             iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spgvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -43,7 +43,6 @@
     LAPACK_SSPGVX( &itype, &jobz, &range, &uplo, &n, ap, bp, &vl, &vu, &il,
             &iu, &abstol, &m, w, z, &ldz, work, iwork, ifail, &info );
 }
-
 inline void spgvx( const integer_t itype, const char jobz, const char range,
         const char uplo, const integer_t n, double* ap, double* bp,
         const double vl, const double vu, const integer_t il,
@@ -53,7 +52,6 @@
     LAPACK_DSPGVX( &itype, &jobz, &range, &uplo, &n, ap, bp, &vl, &vu, &il,
             &iu, &abstol, &m, w, z, &ldz, work, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sposv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sposv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sposv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,7 +41,6 @@
     LAPACK_DSPOSV( &uplo, &n, &nrhs, a, &lda, b, &ldb, x, &ldx, work, swork,
             &iter, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,12 +66,12 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( $CALL_MIN_SIZE ));
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -37,27 +37,23 @@
         integer_t& info ) {
     LAPACK_SSPSV( &uplo, &n, &nrhs, ap, ipiv, b, &ldb, &info );
 }
-
 inline void spsv( const char uplo, const integer_t n, const integer_t nrhs,
         double* ap, integer_t* ipiv, double* b, const integer_t ldb,
         integer_t& info ) {
     LAPACK_DSPSV( &uplo, &n, &nrhs, ap, ipiv, b, &ldb, &info );
 }
-
 inline void spsv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_f* ap, integer_t* ipiv, traits::complex_f* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_CSPSV( &uplo, &n, &nrhs, traits::complex_ptr(ap), ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 inline void spsv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_d* ap, integer_t* ipiv, traits::complex_d* b,
         const integer_t ldb, integer_t& info ) {
     LAPACK_ZSPSV( &uplo, &n, &nrhs, traits::complex_ptr(ap), ipiv,
             traits::complex_ptr(b), &ldb, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -95,8 +91,8 @@
                 traits::matrix_uplo_tag(ap) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(ap) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
         detail::spsv( traits::matrix_uplo_tag(ap),
                 traits::matrix_num_columns(ap), traits::matrix_num_columns(b),
                 traits::matrix_storage(ap), traits::vector_storage(ipiv),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/spsvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SSPSVX( &fact, &uplo, &n, &nrhs, ap, afp, ipiv, b, &ldb, x, &ldx,
             &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void spsvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, const double* ap, double* afp, integer_t* ipiv,
         const double* b, const integer_t ldb, double* x, const integer_t ldx,
@@ -54,7 +53,6 @@
     LAPACK_DSPSVX( &fact, &uplo, &n, &nrhs, ap, afp, ipiv, b, &ldb, x, &ldx,
             &rcond, ferr, berr, work, iwork, &info );
 }
-
 inline void spsvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, const traits::complex_f* ap,
         traits::complex_f* afp, integer_t* ipiv, const traits::complex_f* b,
@@ -66,7 +64,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 inline void spsvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, const traits::complex_d* ap,
         traits::complex_d* afp, integer_t* ipiv, const traits::complex_d* b,
@@ -78,7 +75,6 @@
             traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -120,10 +116,10 @@
                 traits::matrix_uplo_tag(ap) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(ap) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ap)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -210,10 +206,10 @@
                 traits::matrix_uplo_tag(ap) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(ap) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(ap)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(ap)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -38,12 +38,10 @@
         float* z, const integer_t ldz, float* work, integer_t& info ) {
     LAPACK_SSTEV( &jobz, &n, d, e, z, &ldz, work, &info );
 }
-
 inline void stev( const char jobz, const integer_t n, double* d, double* e,
         double* z, const integer_t ldz, double* work, integer_t& info ) {
     LAPACK_DSTEV( &jobz, &n, d, e, z, &ldz, work, &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -41,14 +41,12 @@
     LAPACK_SSTEVD( &jobz, &n, d, e, z, &ldz, work, &lwork, iwork, &liwork,
             &info );
 }
-
 inline void stevd( const char jobz, const integer_t n, double* d, double* e,
         double* z, const integer_t ldz, double* work, const integer_t lwork,
         integer_t* iwork, const integer_t liwork, integer_t& info ) {
     LAPACK_DSTEVD( &jobz, &n, d, e, z, &ldz, work, &lwork, iwork, &liwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SSTEVR( &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &abstol, &m,
             w, z, &ldz, isuppz, work, &lwork, iwork, &liwork, &info );
 }
-
 inline void stevr( const char jobz, const char range, const integer_t n,
         double* d, double* e, const double vl, const double vu,
         const integer_t il, const integer_t iu, const double abstol,
@@ -54,7 +53,6 @@
     LAPACK_DSTEVR( &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &abstol, &m,
             w, z, &ldz, isuppz, work, &lwork, iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -86,9 +84,11 @@
         BOOST_ASSERT( range == 'A' || range == 'V' || range == 'I' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
- BOOST_ASSERT( traits::vector_size(e) >= std::max(1,n-1) );
+ BOOST_ASSERT( traits::vector_size(e) >= std::max< std::ptrdiff_t >(1,
+ n-1) );
         BOOST_ASSERT( traits::vector_size(w) >= n );
- BOOST_ASSERT( traits::vector_size(isuppz) >= 2*std::max(1,m) );
+ BOOST_ASSERT( traits::vector_size(isuppz) >= 2*std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/stevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SSTEVX( &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &abstol, &m,
             w, z, &ldz, work, iwork, ifail, &info );
 }
-
 inline void stevx( const char jobz, const char range, const integer_t n,
         double* d, double* e, const double vl, const double vu,
         const integer_t il, const integer_t iu, const double abstol,
@@ -51,7 +50,6 @@
     LAPACK_DSTEVX( &jobz, &range, &n, d, e, &vl, &vu, &il, &iu, &abstol, &m,
             w, z, &ldz, work, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -83,7 +81,8 @@
         BOOST_ASSERT( range == 'A' || range == 'V' || range == 'I' );
         BOOST_ASSERT( n >= 0 );
         BOOST_ASSERT( traits::vector_size(d) >= n );
- BOOST_ASSERT( traits::vector_size(e) >= std::max(1,n-1) );
+ BOOST_ASSERT( traits::vector_size(e) >= std::max< std::ptrdiff_t >(1,
+ n-1) );
         BOOST_ASSERT( traits::vector_size(w) >= n );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syev.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -40,13 +40,11 @@
         const integer_t lwork, integer_t& info ) {
     LAPACK_SSYEV( &jobz, &uplo, &n, a, &lda, w, work, &lwork, &info );
 }
-
 inline void syev( const char jobz, const char uplo, const integer_t n,
         double* a, const integer_t lda, double* w, double* work,
         const integer_t lwork, integer_t& info ) {
     LAPACK_DSYEV( &jobz, &uplo, &n, a, &lda, w, work, &lwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -67,8 +65,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         detail::syev( jobz, traits::matrix_uplo_tag(a),

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SSYEVD( &jobz, &uplo, &n, a, &lda, w, work, &lwork, iwork, &liwork,
             &info );
 }
-
 inline void syevd( const char jobz, const char uplo, const integer_t n,
         double* a, const integer_t lda, double* w, double* work,
         const integer_t lwork, integer_t* iwork, const integer_t liwork,
@@ -50,7 +49,6 @@
     LAPACK_DSYEVD( &jobz, &uplo, &n, a, &lda, w, work, &lwork, iwork, &liwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -72,8 +70,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( jobz, traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevr.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
             &abstol, &m, w, z, &ldz, isuppz, work, &lwork, iwork, &liwork,
             &info );
 }
-
 inline void syevr( const char jobz, const char range, const char uplo,
         const integer_t n, double* a, const integer_t lda, const double vl,
         const double vu, const integer_t il, const integer_t iu,
@@ -58,7 +57,6 @@
             &abstol, &m, w, z, &ldz, isuppz, work, &lwork, iwork, &liwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -87,11 +85,12 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(a) );
- BOOST_ASSERT( traits::vector_size(isuppz) >= 2*std::max(1,m) );
+ BOOST_ASSERT( traits::vector_size(isuppz) >= 2*std::max<
+ std::ptrdiff_t >(1,m) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( traits::matrix_num_columns(a) ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/syevx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -44,7 +44,6 @@
     LAPACK_SSYEVX( &jobz, &range, &uplo, &n, a, &lda, &vl, &vu, &il, &iu,
             &abstol, &m, w, z, &ldz, work, &lwork, iwork, ifail, &info );
 }
-
 inline void syevx( const char jobz, const char range, const char uplo,
         const integer_t n, double* a, const integer_t lda, const double vl,
         const double vu, const integer_t il, const integer_t iu,
@@ -54,7 +53,6 @@
     LAPACK_DSYEVX( &jobz, &range, &uplo, &n, a, &lda, &vl, &vu, &il, &iu,
             &abstol, &m, w, z, &ldz, work, &lwork, iwork, ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -83,8 +81,8 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(w) >=
                 traits::matrix_num_columns(a) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SSYGV( &itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork,
             &info );
 }
-
 inline void sygv( const integer_t itype, const char jobz, const char uplo,
         const integer_t n, double* a, const integer_t lda, double* b,
         const integer_t ldb, double* w, double* work, const integer_t lwork,
@@ -50,7 +49,6 @@
     LAPACK_DSYGV( &itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work, &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -76,8 +74,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));
         detail::sygv( itype, jobz, traits::matrix_uplo_tag(a), n,

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvd.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -42,7 +42,6 @@
     LAPACK_SSYGVD( &itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work,
             &lwork, iwork, &liwork, &info );
 }
-
 inline void sygvd( const integer_t itype, const char jobz, const char uplo,
         const integer_t n, double* a, const integer_t lda, double* b,
         const integer_t ldb, double* w, double* work, const integer_t lwork,
@@ -50,7 +49,6 @@
     LAPACK_DSYGVD( &itype, &jobz, &uplo, &n, a, &lda, b, &ldb, w, work,
             &lwork, iwork, &liwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -76,8 +74,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( jobz, n ));
         BOOST_ASSERT( traits::vector_size(work.select(integer_t())) >=

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sygvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -46,7 +46,6 @@
             &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, &lwork, iwork,
             ifail, &info );
 }
-
 inline void sygvx( const integer_t itype, const char jobz, const char range,
         const char uplo, const integer_t n, double* a, const integer_t lda,
         double* b, const integer_t ldb, const double vl, const double vu,
@@ -58,7 +57,6 @@
             &vu, &il, &iu, &abstol, &m, w, z, &ldz, work, &lwork, iwork,
             ifail, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -92,8 +90,10 @@
         BOOST_ASSERT( traits::matrix_uplo_tag(a) == 'U' ||
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( n >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,n) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,n) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,n) );
         BOOST_ASSERT( traits::vector_size(w) >= n );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
                 min_size_work( n ));

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysv.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -45,7 +45,6 @@
     LAPACK_SSYSV( &uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, work, &lwork,
             &info );
 }
-
 inline void sysv( const char uplo, const integer_t n, const integer_t nrhs,
         double* a, const integer_t lda, integer_t* ipiv, double* b,
         const integer_t ldb, double* work, const integer_t lwork,
@@ -53,7 +52,6 @@
     LAPACK_DSYSV( &uplo, &n, &nrhs, a, &lda, ipiv, b, &ldb, work, &lwork,
             &info );
 }
-
 inline void sysv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_f* a, const integer_t lda, integer_t* ipiv,
         traits::complex_f* b, const integer_t ldb, traits::complex_f* work,
@@ -62,7 +60,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(work), &lwork,
             &info );
 }
-
 inline void sysv( const char uplo, const integer_t n, const integer_t nrhs,
         traits::complex_d* a, const integer_t lda, integer_t* ipiv,
         traits::complex_d* b, const integer_t ldb, traits::complex_d* work,
@@ -71,7 +68,6 @@
             traits::complex_ptr(b), &ldb, traits::complex_ptr(work), &lwork,
             &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -114,12 +110,12 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
- min_size_work( ));
+ min_size_work());
         detail::sysv( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
@@ -133,7 +129,7 @@
     template< typename MatrixA, typename VectorIPIV, typename MatrixB >
     static void invoke( MatrixA& a, VectorIPIV& ipiv, MatrixB& b,
             integer_t& info, minimal_workspace work ) {
- traits::detail::array< real_type > tmp_work( min_size_work( ) );
+ traits::detail::array< real_type > tmp_work( min_size_work() );
         invoke( a, ipiv, b, info, workspace( tmp_work ) );
     }
 
@@ -152,7 +148,7 @@
         invoke( a, ipiv, b, info, workspace( tmp_work ) );
     }
 
- static integer_t min_size_work( ) {
+ static integer_t min_size_work() {
         return 1;
     }
 };
@@ -193,12 +189,12 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(b) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=
- min_size_work( ));
+ min_size_work());
         detail::sysv( traits::matrix_uplo_tag(a),
                 traits::matrix_num_columns(a), traits::matrix_num_columns(b),
                 traits::matrix_storage(a), traits::leading_dimension(a),
@@ -212,7 +208,7 @@
     template< typename MatrixA, typename VectorIPIV, typename MatrixB >
     static void invoke( MatrixA& a, VectorIPIV& ipiv, MatrixB& b,
             integer_t& info, minimal_workspace work ) {
- traits::detail::array< value_type > tmp_work( min_size_work( ) );
+ traits::detail::array< value_type > tmp_work( min_size_work() );
         invoke( a, ipiv, b, info, workspace( tmp_work ) );
     }
 
@@ -231,7 +227,7 @@
         invoke( a, ipiv, b, info, workspace( tmp_work ) );
     }
 
- static integer_t min_size_work( ) {
+ static integer_t min_size_work() {
         return 1;
     }
 };

Modified: sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp
==============================================================================
--- sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp (original)
+++ sandbox/numeric_bindings/boost/numeric/bindings/lapack/driver/sysvx.hpp 2009-10-09 16:40:53 EDT (Fri, 09 Oct 2009)
@@ -47,7 +47,6 @@
     LAPACK_SSYSVX( &fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, ipiv, b, &ldb,
             x, &ldx, &rcond, ferr, berr, work, &lwork, iwork, &info );
 }
-
 inline void sysvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, const double* a, const integer_t lda,
         double* af, const integer_t ldaf, integer_t* ipiv, const double* b,
@@ -57,7 +56,6 @@
     LAPACK_DSYSVX( &fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, ipiv, b, &ldb,
             x, &ldx, &rcond, ferr, berr, work, &lwork, iwork, &info );
 }
-
 inline void sysvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, const traits::complex_f* a, const integer_t lda,
         traits::complex_f* af, const integer_t ldaf, integer_t* ipiv,
@@ -70,7 +68,6 @@
             &ldb, traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 inline void sysvx( const char fact, const char uplo, const integer_t n,
         const integer_t nrhs, const traits::complex_d* a, const integer_t lda,
         traits::complex_d* af, const integer_t ldaf, integer_t* ipiv,
@@ -83,7 +80,6 @@
             &ldb, traits::complex_ptr(x), &ldx, &rcond, ferr, berr,
             traits::complex_ptr(work), &lwork, rwork, &info );
 }
-
 } // namespace detail
 
 // value-type based template
@@ -125,14 +121,14 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(real_type())) >=
@@ -235,14 +231,14 @@
                 traits::matrix_uplo_tag(a) == 'L' );
         BOOST_ASSERT( traits::matrix_num_columns(a) >= 0 );
         BOOST_ASSERT( traits::matrix_num_columns(x) >= 0 );
- BOOST_ASSERT( traits::leading_dimension(a) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(af) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(b) >= std::max(1,
- traits::matrix_num_columns(a)) );
- BOOST_ASSERT( traits::leading_dimension(x) >= std::max(1,
- traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(a) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(af) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(b) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
+ BOOST_ASSERT( traits::leading_dimension(x) >= std::max<
+ std::ptrdiff_t >(1,traits::matrix_num_columns(a)) );
         BOOST_ASSERT( traits::vector_size(berr) >=
                 traits::matrix_num_columns(x) );
         BOOST_ASSERT( traits::vector_size(work.select(value_type())) >=


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