[go: up one dir, main page]

Menu

[r4]: / lpp / utility.hh  Maximize  Restore  History

Download this file

108 lines (95 with data), 5.0 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
#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
// /////////////////////////////////////////////////////////////////////////////