source: trunk/yat/utility/utility.cc @ 1437

Last change on this file since 1437 was 1437, checked in by Peter, 13 years ago

merge patch release 0.4.2 to trunk. Delta 0.4.2-0.4.1

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.7 KB
RevLine 
[327]1// $Id: utility.cc 1437 2008-08-25 17:55:00Z peter $
2
[570]3/*
[831]4  Copyright (C) 2005, 2006 Jari Häkkinen, Markus Ringnér
[1275]5  Copyright (C) 2007 Jari Häkkinen, Peter Johansson
[570]6
[1437]7  This file is part of the yat library, http://dev.thep.lu.se/yat
[570]8
[675]9  The yat library is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 2 of the
12  License, or (at your option) any later version.
[570]13
[675]14  The yat library is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[570]17  General Public License for more details.
18
19  You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software
21  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22  02111-1307, USA.
23*/
24
[680]25#include "utility.h"
[734]26
[1304]27#include "Matrix.h"
[680]28#include "stl_utility.h"
[1304]29#include "VectorConstView.h"
30#include "yat/statistics/Averager.h"
[435]31
[327]32#include <sstream>
33#include <string>
34
35namespace theplu {
[680]36namespace yat {
[327]37namespace utility {
38
[435]39  bool is_double(const std::string& s)
40  {
[1312]41    return is<double>(s);
[435]42  }
43 
[917]44
45  bool is_equal(std::string s, std::string other)
46  {
47    std::stringstream ss(s);
48    std::string s2;
49    ss >> s2; // to trim surrounding whitespaces
50    to_lower(s2);
51    // Check that nothing is left on stream
52    std::string s3;
53    ss >> s3;
54    if(s3.size())
55      return false;
56    return (other==s2);
57  }
58
59
[327]60  bool is_float(const std::string& s)
61  {
[1312]62    return is<float>(s);
[327]63  }
64
[917]65
[327]66  bool is_int(const std::string& s)
67  {
[1312]68    return is<int>(s);
[327]69  }
70
[435]71  bool is_nan(const std::string& s)
72  {
[917]73    return is_equal(s, "nan");
[435]74  }
[327]75
[616]76
[680]77}}} // end of namespace utility, yat and thep
Note: See TracBrowser for help on using the repository browser.