#ifndef __PROJECT__LPP__FILE__UTILITY_HH__INCLUDED #define __PROJECT__LPP__FILE__UTILITY_HH__INCLUDED //////////////////////////////////////////////////////////////////////////////// // Copyright (c) 2007 for LASMEA UMR 6602 du CNRS. // All rights reserved. // // This file is part of the NT2 C++ Library. This library is // free software; you can redistribute it and/or modify it under // the terms of the GNU Lesser General Public License as published // by the Free Software Foundation; either version 2.1, or (at // your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General // Public License along with this library; see the file COPYING. // If not, send mail to the developers of NT2 // // As a special exception, you may use this file as part of a free // software library without restriction. Specifically, if other // files instantiate templates or use macros or inline functions // from this file, or you compile this file and link it with other // files to produce an executable, this file does not by itself // cause the resulting executable to be covered by the GNU Lesser // General Public License. This exception does not however // invalidate any other reasons why the executable file might be // covered by the GNU Lesser General Public License. // //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// // what : utility.hh // who : contributed by Joel FALCOU and Jean-Thierry LAPRESTE // when : Thu May 31 13:38:37 2007 // where : // from : // to : // description : // modified : //////////////////////////////////////////////////////////////////////////////// // ///////////////////////////////////////////////////////////////////////////// // Beginning of lpp namespace // ///////////////////////////////////////////////////////////////////////////// namespace lpp { //////////////////////////////////////////////////////////////////////////// // utility //////////////////////////////////////////////////////////////////////////// inline int EnvBlockSize(int ispec, const std::string & fname, const std::string & opts, int n1 = -1, int n2 = -1, int n3 = -1, int n4 = -1) { int i = ispec; int N1 = n1; int N2 = n2; int N3 = n3; int N4 = n4; return F77NAME(ilaenv)(&i, fname.c_str(), opts.c_str(), &N1, &N2, &N3, &N4, fname.size(), opts.size()); } } #include "lapackworkspace.hh" //////////////////////////////////////////////////////////////// // csrot rotation plane à deux vecteurs complexes ?? // zdrot rotation plane à deux vecteurs complexes ?? // csrscl multiplication vecteur 1/a, inutile // zdrscl multiplication vecteur 1/a, inutile // xerbla gestion d'erreurs // second temps en seconde, inutile // ladiv à faire //////////////////////////////////////////////////////////////// // interfacer lamch avec les constantes //////////////////////////////////////////////////////////////// namespace lpp { inline char lower(const char c){ return (c >= 'A' && c <= 'Z') ? c +('a'-'A') : c; } inline char upper(const char c){ return (c >= 'a' && c <= 'z') ? c -('a'-'A') : c; } } // ///////////////////////////////////////////////////////////////////////////// // End of lpp namespace // ///////////////////////////////////////////////////////////////////////////// #endif // ///////////////////////////////////////////////////////////////////////////// // End of utility.hh // /////////////////////////////////////////////////////////////////////////////