TRUST 1.9.8
HPC thermohydraulic platform
Loading...
Searching...
No Matches
TRUSTTabs_forward.h
1/****************************************************************************
2* Copyright (c) 2024, CEA
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9*
10* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
12* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13*
14*****************************************************************************/
15
16#ifndef TRUSTTabs_forward_included
17#define TRUSTTabs_forward_included
18
19#include <arch.h>
20
21template <typename _SIZE_> class ArrOfBit_32_64;
22using ArrOfBit = ArrOfBit_32_64<int>;
23
24template <typename _TYPE_, typename _SIZE_=int> class TRUSTArray;
25using ArrOfDouble = TRUSTArray<double, int>;
26using ArrOfFloat = TRUSTArray<float, int>;
27using ArrOfInt = TRUSTArray<int, int>;
28using ArrOfTID = TRUSTArray<trustIdType, int>;
29
30using BigArrOfDouble = TRUSTArray<double, trustIdType>;
31using BigArrOfFloat = TRUSTArray<float, trustIdType>;
32using BigArrOfInt = TRUSTArray<int, trustIdType>;
33using BigArrOfTID = TRUSTArray<trustIdType, trustIdType>;
34
35template<typename _TYPE_, typename _SIZE_=int> class TRUSTVect;
36using DoubleVect = TRUSTVect<double, int>;
37using FloatVect = TRUSTVect<float, int>;
38using IntVect = TRUSTVect<int, int>;
39using TIDVect = TRUSTVect<trustIdType, int>;
40
41using BigDoubleVect = TRUSTVect<double, trustIdType>;
42using BigIntVect = TRUSTVect<int, trustIdType>;
44
45template<typename _TYPE_, typename _SIZE_=int> class TRUSTTab;
46using DoubleTab = TRUSTTab<double, int>;
47using FloatTab = TRUSTTab<float, int>;
48using IntTab = TRUSTTab<int, int>;
49
50using TIDTab = TRUSTTab<trustIdType, int>;
51
52using BigDoubleTab = TRUSTTab<double, trustIdType>;
53using BigFloatTab = TRUSTTab<float, trustIdType>;
54using BigIntTab = TRUSTTab<int, trustIdType>;
56
57template<typename _TYPE_> class TRUSTTrav;
58using IntTrav = TRUSTTrav<int>;
59using DoubleTrav = TRUSTTrav<double>;
60using FloatTrav = TRUSTTrav<float>;
61
62// previous VECT macros :-)
63// TODO : FIXME : Add float typedefs ...
64template<typename _TYPE_> class TRUST_Vector;
65using ArrsOfDouble = TRUST_Vector<TRUSTArray<double, int>>; // remplace VECT(ArrOfDouble)
66using ArrsOfInt = TRUST_Vector<TRUSTArray<int, int>>; // remplace VECT(ArrOfInt)
67using DoubleVects = TRUST_Vector<TRUSTVect<double, int>>; // remplace VECT(DoubleVect)
68using IntVects = TRUST_Vector<TRUSTVect<int, int>>; // remplace VECT(IntVect)
69using DoubleTabs = TRUST_Vector<TRUSTTab<double, int>>; // remplace VECT(DoubleTab)
70using IntTabs = TRUST_Vector<TRUSTTab<int, int>>; // remplace VECT(IntTab)
71
72
73//
74// Handy 'using' clauses used in all the class templatized on the 32/64b aspect (Domaine, Octree, Elem_geom, etc.)
75//
76template <typename _SIZE_> using ArrOfInt_T = TRUSTArray<_SIZE_, _SIZE_>; // either an ArrOfInt (32 bits) or a BigArrOfTID (64b)
77template <typename _SIZE_> using IntVect_T = TRUSTVect<_SIZE_, _SIZE_>; // either an IntVect (32 bits) or a BigTIDVect (64b)
78template <typename _SIZE_> using IntTab_T = TRUSTTab<_SIZE_, _SIZE_>; // either an IntTab (32 bits) or a BigTIDTab (64b)
79template <typename _TYPE_> using SmallArrOfTID_T = TRUSTArray<_TYPE_, int>; // a small array of identifiers (small even in 64b)
80template <typename _TYPE_> using BigArrOfInt_T = TRUSTArray<int, _TYPE_>; // a big array, but always storing small values (rarely used ...)
81template <typename _TYPE_> using BigIntVect_T = TRUSTVect<int, _TYPE_>; // a big vect, but always storing small values (rarely used ...)
82
83template <typename _SIZE_> using ArrOfDouble_T= TRUSTArray<double, _SIZE_>;
84template <typename _SIZE_> using DoubleVect_T = TRUSTVect<double, _SIZE_>;
85template <typename _SIZE_> using DoubleTab_T = TRUSTTab<double, _SIZE_>; // either an DoubleTab (32 bits) or a BigDoubleTab (64b)
86
87template <typename _SIZE_> using FloatVect_T = TRUSTVect<float, _SIZE_>;
88
89template <typename _SIZE_> using ArrsOfInt_T = TRUST_Vector<TRUSTArray<_SIZE_, _SIZE_>>;
90template <typename _SIZE_> using DoubleTabs_T = TRUST_Vector<TRUSTTab<double, _SIZE_>>;
91
92#endif /* TRUSTTabs_forward_included */
Represents a an array of int/int64/double/... values.
Definition TRUSTArray.h:81
: Tableau a n entrees pour n<= 4.
Definition TRUSTTab.h:31
Temporary multidimensional array ('tableau de travail').
Definition TRUSTTrav.h:30
classe TRUST_Vector