xerus
a general purpose tensor library
basic.h
Go to the documentation of this file.
1 // Xerus - A General Purpose Tensor Library
2 // Copyright (C) 2014-2017 Benjamin Huber and Sebastian Wolf.
3 //
4 // Xerus is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as published
6 // by the Free Software Foundation, either version 3 of the License,
7 // or (at your option) any later version.
8 //
9 // Xerus is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
13 //
14 // You should have received a copy of the GNU Affero General Public License
15 // along with Xerus. If not, see <http://www.gnu.org/licenses/>.
16 //
17 // For further information on Xerus visit https://libXerus.org
18 // or contact us at contact@libXerus.org.
19 
25 #pragma once
26 
27 #include <stddef.h>
28 #include "misc/allocator.h"
29 #include "misc/standard.h"
30 #include "misc/namedLogger.h"
31 #include "tensorLogger.h"
32 
37 namespace xerus {
43  typedef double value_t;
44 
50  constexpr const value_t EPSILON = 8*std::numeric_limits<value_t>::epsilon();
51 
58  namespace internal {
60  void array_deleter_vt(value_t* const _toDelete);
61 
63  void array_deleter_st(size_t* const _toDelete);
64  }
65 }
The main namespace of xerus.
Definition: basic.h:37
void array_deleter_st(size_t *const _toDelete)
Internal deleter function, needed because std::shared_ptr misses an array overload.
Definition: basic.cpp:32
void array_deleter_vt(value_t *const _toDelete)
Internal deleter function, needed because std::shared_ptr misses an array overload.
Definition: basic.cpp:31
Header file that defines the logging behaviour of the internal debug log-levels used in the library...
Header file for all logging macros and log-buffer functionality.
constexpr const value_t EPSILON
The default epsilon value in xerus.
Definition: basic.h:50
double value_t
The type of values to be used by xerus.
Definition: basic.h:43
Header file for the data structures used by the custom new and delete operators.
Header file for global shorthand notations of elementary integer types and attribute lists...