Documentation of
CSL
include
enum.h
Go to the documentation of this file.
1
// This file is part of MARTY.
2
//
3
// MARTY is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU General Public License as published by
5
// the Free Software Foundation, either version 3 of the License, or
6
// (at your option) any later version.
7
//
8
// MARTY is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
// GNU General Public License for more details.
12
//
13
// You should have received a copy of the GNU General Public License
14
// along with MARTY. If not, see <https://www.gnu.org/licenses/>.
15
21
#ifndef ENUM_H_INCLUDED
22
#define ENUM_H_INCLUDED
23
24
#include <iostream>
25
26
namespace
csl
{
27
31
enum class
PrimaryType
{
32
33
Arbitrary
=-1,
34
Numerical
,
35
Literal
,
36
MultiFunction
=10,
38
ScalarFunction
=20,
40
Vectorial
=50,
41
Indicial
=60,
42
Field
=70,
43
};
44
47
enum class
Type
{
48
49
InheritanceType=-2,
50
NoType
=-1,
52
Integer
,
53
Float
,
54
IntFraction
,
55
IntFactorial
,
56
Complex
,
57
NumericalEval
,
58
Imaginary
,
59
Constant
,
60
Variable
,
61
Exp
,
62
Log
,
63
DiracDelta
,
64
Abs
,
65
Cos
,
66
Sin
,
67
Tan
,
68
Cosh
,
69
Sinh
,
70
Tanh
,
71
ACos
,
72
ASin
,
73
ATan
,
74
ACosh
,
75
ASinh
,
76
ATanh
,
77
Scalar
,
78
RealPart
,
79
ImaginaryPart
,
81
TensorElement
,
83
ScalarField
,
84
TensorFieldElement
,
85
TDerivativeElement
,
/*<!Abstract specialized in
86
TDerivativeElement */
87
88
StandardDuo
,
89
StandardMult
,
90
Pow
,
91
Prod
,
92
Sum
,
93
Polynomial
,
94
Derivative
,
95
Commutator
,
96
Angle
,
97
Factorial
,
98
Integral
,
99
ScalarIntegral
,
100
VectorIntegral
,
102
Vector
,
103
Matrix
,
104
HighDTensor
,
105
// Type extensions for further librairies
106
};
107
114
std::ostream& operator<<(std::ostream& fout,
csl::Type
type);
115
121
std::ostream& operator<<(std::ostream& fout,
csl::PrimaryType
primaryType);
122
127
enum class
ComplexProperty
{
128
132
Complex
,
136
Real
,
140
Imaginary
,
141
};
142
143
}
// End of namespace csl
144
145
#endif
csl::Type::HighDTensor
csl::Type::Float
csl::Type::Tan
csl::Type::ImaginaryPart
csl::Type::StandardMult
csl
Namespace for csl library.
Definition:
abreviation.h:34
csl::Type::DiracDelta
csl::Type::ATan
csl::ComplexProperty::Real
real object,
csl::TDerivativeElement
Definition:
tensorField.h:264
csl::Type::ACos
csl::Type::Abs
csl::PrimaryType::Indicial
csl::Type
Type
Enum of the different types of Abstract (i.e. list of all possible specializations).
Definition:
enum.h:47
csl::Type::Exp
csl::Type::IntFraction
csl::Type::Complex
csl::PrimaryType::Vectorial
csl::PrimaryType::Field
csl::Type::ASin
csl::Type::ScalarIntegral
csl::PrimaryType::Literal
csl::PrimaryType::Numerical
csl::Type::TensorFieldElement
csl::Type::Scalar
csl::Type::Vector
csl::ComplexProperty
ComplexProperty
Contains all possible complex properties of objects. Real, purely imaginary, or complex.
Definition:
enum.h:127
csl::Type::NumericalEval
csl::Type::Variable
csl::Type::Derivative
csl::PrimaryType
PrimaryType
Stores enumerations of types for Abstract objects.
Definition:
enum.h:31
csl::Type::IntFactorial
csl::Arbitrary
Arbitrary object that can enter mathematical expressions.
Definition:
comparison.h:48
csl::Type::VectorIntegral
csl::PrimaryType::MultiFunction
csl::Type::ScalarField
csl::Type::NoType
csl::Type::Constant
csl::Type::ATanh
csl::Type::Commutator
csl::Type::Prod
csl::Type::Cos
csl::Type::Sinh
csl::Type::ACosh
csl::Type::Pow
csl::Type::Integer
csl::Type::Log
csl::Type::Tanh
csl::Type::ASinh
csl::Type::Integral
csl::Type::Sum
csl::Type::Polynomial
csl::Type::Sin
csl::Type::Imaginary
csl::Type::Angle
csl::PrimaryType::ScalarFunction
csl::Type::Matrix
csl::Type::TensorElement
csl::Type::Cosh
csl::Type::StandardDuo
csl::Type::Factorial
csl::Type::RealPart
Generated by
1.8.13