Bertini 2 - C++ Core
Software for Numerical Algebraic Geometry
Loading...
Searching...
No Matches
function_tree.hpp
Go to the documentation of this file.
1//This file is part of Bertini 2.
2//
3//function_tree.hpp 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//function_tree.hpp 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 function_tree.hpp. If not, see <http://www.gnu.org/licenses/>.
15//
16// Copyright(C) 2015 - 2021 by Bertini2 Development Team
17//
18// See <http://www.gnu.org/licenses/> for a copy of the license,
19// as well as COPYING. Bertini2 is provided with permitted
20// additional terms in the b2/licenses/ directory.
21
22// individual authors of this file include:
23// silviana amethyst, University of Wisconsin Eau Claire
24// jeb collins, west texas a&m
25
31
32
33#ifndef BERTINI_FUNCTION_TREE_HPP
34#define BERTINI_FUNCTION_TREE_HPP
35
37
39
43
44
49
52
54
55
56
57
58
59BOOST_CLASS_EXPORT_KEY(bertini::node::Node)
60
61BOOST_SERIALIZATION_ASSUME_ABSTRACT(bertini::node::Node)
62
63
64BOOST_CLASS_EXPORT_KEY(bertini::node::Handle)
65
66BOOST_CLASS_EXPORT_KEY(bertini::node::Symbol)
67BOOST_CLASS_EXPORT_KEY(bertini::node::NamedSymbol)
68BOOST_CLASS_EXPORT_KEY(bertini::node::Number)
69
70
71BOOST_SERIALIZATION_ASSUME_ABSTRACT(bertini::node::Symbol)
72BOOST_SERIALIZATION_ASSUME_ABSTRACT(bertini::node::NamedSymbol)
73BOOST_SERIALIZATION_ASSUME_ABSTRACT(bertini::node::Number)
74
75
76BOOST_CLASS_EXPORT_KEY(bertini::node::Variable)
77BOOST_CLASS_EXPORT_KEY(bertini::node::Differential)
78
79BOOST_CLASS_EXPORT_KEY(bertini::node::Float)
80BOOST_CLASS_EXPORT_KEY(bertini::node::Integer)
81BOOST_CLASS_EXPORT_KEY(bertini::node::Rational)
82
83BOOST_CLASS_EXPORT_KEY(bertini::node::special_number::Pi)
84BOOST_CLASS_EXPORT_KEY(bertini::node::special_number::E)
85
86BOOST_CLASS_EXPORT_KEY(bertini::node::Function)
87BOOST_CLASS_EXPORT_KEY(bertini::node::Jacobian)
88
89BOOST_CLASS_EXPORT_KEY(bertini::node::SinOperator)
90BOOST_CLASS_EXPORT_KEY(bertini::node::ArcSinOperator)
91BOOST_CLASS_EXPORT_KEY(bertini::node::CosOperator)
92BOOST_CLASS_EXPORT_KEY(bertini::node::ArcCosOperator)
93BOOST_CLASS_EXPORT_KEY(bertini::node::TanOperator)
94BOOST_CLASS_EXPORT_KEY(bertini::node::ArcTanOperator)
95
96
97BOOST_CLASS_EXPORT_KEY(bertini::node::SumOperator)
98BOOST_CLASS_EXPORT_KEY(bertini::node::NegateOperator)
99BOOST_CLASS_EXPORT_KEY(bertini::node::MultOperator)
100BOOST_CLASS_EXPORT_KEY(bertini::node::PowerOperator)
101BOOST_CLASS_EXPORT_KEY(bertini::node::IntegerPowerOperator)
102BOOST_CLASS_EXPORT_KEY(bertini::node::SqrtOperator)
103BOOST_CLASS_EXPORT_KEY(bertini::node::ExpOperator)
104
105
106
107
108
109
110BOOST_CLASS_TRACKING(bertini::node::Node, track_always)
111
112BOOST_CLASS_TRACKING(bertini::node::Symbol, boost::serialization::track_always)
113BOOST_CLASS_TRACKING(bertini::node::NamedSymbol, boost::serialization::track_always)
114BOOST_CLASS_TRACKING(bertini::node::Number, boost::serialization::track_always)
115
116
117BOOST_CLASS_TRACKING(bertini::node::Variable, boost::serialization::track_always)
118BOOST_CLASS_TRACKING(bertini::node::Differential, boost::serialization::track_always)
119
120BOOST_CLASS_TRACKING(bertini::node::Float, boost::serialization::track_always)
121BOOST_CLASS_TRACKING(bertini::node::Integer, boost::serialization::track_always)
122BOOST_CLASS_TRACKING(bertini::node::Rational, boost::serialization::track_always)
123
124BOOST_CLASS_TRACKING(bertini::node::special_number::Pi, boost::serialization::track_always)
125BOOST_CLASS_TRACKING(bertini::node::special_number::E, boost::serialization::track_always)
126
127BOOST_CLASS_TRACKING(bertini::node::Function, boost::serialization::track_always)
128BOOST_CLASS_TRACKING(bertini::node::Jacobian, boost::serialization::track_always)
129
130BOOST_CLASS_TRACKING(bertini::node::SinOperator, boost::serialization::track_always)
131BOOST_CLASS_TRACKING(bertini::node::ArcSinOperator, boost::serialization::track_always)
132BOOST_CLASS_TRACKING(bertini::node::CosOperator, boost::serialization::track_always)
133BOOST_CLASS_TRACKING(bertini::node::ArcCosOperator, boost::serialization::track_always)
134BOOST_CLASS_TRACKING(bertini::node::TanOperator, boost::serialization::track_always)
135BOOST_CLASS_TRACKING(bertini::node::ArcTanOperator, boost::serialization::track_always)
136
137
138BOOST_CLASS_TRACKING(bertini::node::SumOperator, boost::serialization::track_always)
139BOOST_CLASS_TRACKING(bertini::node::NegateOperator, boost::serialization::track_always)
140BOOST_CLASS_TRACKING(bertini::node::MultOperator, boost::serialization::track_always)
141BOOST_CLASS_TRACKING(bertini::node::PowerOperator, boost::serialization::track_always)
142BOOST_CLASS_TRACKING(bertini::node::IntegerPowerOperator, boost::serialization::track_always)
143BOOST_CLASS_TRACKING(bertini::node::SqrtOperator, boost::serialization::track_always)
144BOOST_CLASS_TRACKING(bertini::node::ExpOperator, boost::serialization::track_always)
145
146
147
148
149
150#endif
151
152
153
154
Provides the artithmetic Node types, such as Sum and Power.
Provides the arc cosine Operator.
Definition trig.hpp:291
Provides the inverse sine Operator.
Definition trig.hpp:158
Provides the inverse tangent Operator.
Definition trig.hpp:426
Provides the cosine Operator.
Definition trig.hpp:225
Provides the differential type for differentiation of expression trees.
Definition differential.hpp:62
represents the exponential function
Definition arithmetic.hpp:911
Number type for storing floating point numbers within an expression tree.
Definition number.hpp:250
Formal entry point into an expression tree.
Definition function.hpp:218
Signed real Integer storage in an expression tree.
Definition number.hpp:173
This class represents the exponentiation Operator.
Definition arithmetic.hpp:690
Defines the entry point into a Jacobian tree.
Definition jacobian.hpp:65
Multiplication and division Operator.
Definition arithmetic.hpp:372
Symbols which have names are named symbols.
Definition symbol.hpp:88
The negation Operator.
Definition arithmetic.hpp:281
Abstract base class for the Bertini hybrid-precision (double-multiple) expression tree.
Definition node.hpp:142
Abstract Number type from which other Numbers derive.
Definition number.hpp:63
Operator for power functions with arbitrary expressions in the exponent and base.
Definition arithmetic.hpp:539
The Rational number type for Bertini2 expression trees.
Definition number.hpp:323
Provides the sine Operator.
Definition trig.hpp:95
Represents the square root Operator.
Definition arithmetic.hpp:835
Represents summation and difference Operator.
Definition arithmetic.hpp:80
Abstract symbol class.
Definition symbol.hpp:57
Provides the tangent Operator.
Definition trig.hpp:363
Represents variable leaves in the function tree.
Definition variable.hpp:59
The number .
Definition special_number.hpp:113
The number .
Definition special_number.hpp:67
Provides the Function Node type, a NamedSymbol.
Provides the Jacobian node type.
Provides the LinearProduct and DiffLinear Node classes.
Defines the abstract Node base class.
Provides the Number Node types, including Rational, Float, and Integer.
Provides the abstract Operator Node type.
simplification methods for nodal functions
Provides the special numbers , , 1, 2, 0, as Nodes.
Defines the abstract Symbol and NamedSymbol classes,.
Provides the abstract TrigOperator, and the concrete types such as SinOperator.
Provides the Variable Node class.