TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
nda.hpp
Go to the documentation of this file.
1// Copyright (c) 2019--present, The Simons Foundation
2// This file is part of TRIQS/nda and is licensed under the Apache License, Version 2.0.
3// SPDX-License-Identifier: Apache-2.0
4// See LICENSE in the root of this distribution for details.
5
10
11#pragma once
12
13#ifdef NDA_DEBUG
14#define NDA_ENFORCE_BOUNDCHECK
15#endif
16
17// FIXME : REMOVE THIS ?
18// for python code generator, we need to know what to include...
19#define TRIQS_INCLUDED_ARRAYS
20
21#include "./accessors.hpp"
22#include "./algorithms.hpp"
23#include "./arithmetic.hpp"
24#include "./array_adapter.hpp"
26#include "./basic_array.hpp"
27#include "./basic_functions.hpp"
28#include "./clef.hpp"
29#include "./concepts.hpp"
30#include "./declarations.hpp"
31#include "./device.hpp"
32#include "./exceptions.hpp"
33#include "./group_indices.hpp"
34#include "./iterators.hpp"
36#include "./layout.hpp"
37#include "./linalg.hpp"
38#include "./macros.hpp"
39#include "./map.hpp"
43#include "./mem.hpp"
44#include "./print.hpp"
45#include "./stdutil.hpp"
46#include "./traits.hpp"
47
48// If we are using c2py, include converters automatically
49#ifdef C2PY_INCLUDED
50#include <nda_py/c2py_converters.hpp>
51#endif
Defines accessors for nda::array objects (cf. std::default_accessor).
Provides various algorithms to be used with nda::Array objects.
Provides lazy expressions for nda::Array types.
Provides an array adapter class.
Provides the generic class for arrays.
Provides the generic class for views.
Provides basic functions to create and manipulate arrays and views.
Includes all clef relevant headers.
Provides concepts for the nda library.
Provides various convenient aliases and helper functions for nda::basic_array and nda::basic_array_vi...
Provides GPU and non-GPU specific functionality.
Provides a custom runtime error class and macros to assert conditions and throw exceptions.
Provides functions used in nda::group_indices_view.
Provides an iterator for nda::basic_array and nda::basic_array_view types.
Includes all memory layout relevant headers.
Provides functions to transform the memory layout of an nda::basic_array or nda::basic_array_view.
Includes all relevant headers for the linear algebra functionality.
Macros used in the nda library.
Provides lazy function calls on arrays/views.
Provides some custom implementations of standard mathematical functions used for lazy,...
Provides lazy, coefficient-wise array operations of standard mathematical functions together with ove...
Provides functions to create and manipulate matrices, i.e. arrays/view with 'M' algebra.
Includes all relevant headers for memory allocation and management.
Provides various overloads of the operator<< for nda related objects.
Includes all stdutil relevant headers.
Provides type traits for the nda library.