DOLFIN
DOLFIN C++ interface
basic.h
1 // Copyright (C) 2003-2011 Anders Logg
2 //
3 // This file is part of DOLFIN.
4 //
5 // DOLFIN is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // DOLFIN is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17 //
18 // First added: 2003-02-06
19 // Last changed: 2011-07-01
20 
21 #ifndef __BASIC_H
22 #define __BASIC_H
23 
24 #include <cstddef>
25 #include <utility>
26 #include <dolfin/common/constants.h>
27 
28 namespace dolfin
29 {
37  std::size_t ipow(std::size_t a, std::size_t n);
38 
41  double rand();
42 
46  void seed(std::size_t s);
47 
56  bool near(double x, double x0, double eps=DOLFIN_EPS);
57 
58  // FIXME: This should not involve eps. It is 'between' and
59  // not 'nearly between'.
66  bool between(double x, std::pair<double, double> range);
67 
68 }
69 
70 #endif
bool between(double x, std::pair< double, double > range)
Definition: basic.cpp:85
std::size_t ipow(std::size_t a, std::size_t n)
Definition: basic.cpp:40
Definition: adapt.h:29
void seed(std::size_t s)
Definition: basic.cpp:74
bool near(double x, double x0, double eps=DOLFIN_EPS)
Definition: basic.cpp:80
double rand()
Definition: basic.cpp:63