|
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