// This file is part of Bertini 2. // // function_tree.hpp is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or //(at your option) any later version. // // function_tree.hpp is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with function_tree.hpp. If not, see . // // Copyright(C) 2015 - 2021 by Bertini2 Development Team // // See for a copy of the license, // as well as COPYING. Bertini2 is provided with permitted // additional terms in the b2/licenses/ directory. // individual authors of this file include: // silviana amethyst, University of Wisconsin Eau Claire // jeb collins, west texas a&m /** \file function_tree.hpp \brief Collects the various header files which define the Bertini2 function tree node types. */ #pragma once #include "function_tree/node.hpp" #include "function_tree/operators/arithmetic.hpp" #include "function_tree/operators/operator.hpp" #include "function_tree/operators/trig.hpp" #include "function_tree/roots/function.hpp" #include "function_tree/roots/jacobian.hpp" #include "function_tree/simplify.hpp" #include "function_tree/symbols/linear_product.hpp" #include "function_tree/symbols/number.hpp" #include "function_tree/symbols/special_number.hpp" #include "function_tree/symbols/symbol.hpp" #include "function_tree/symbols/variable.hpp" BOOST_CLASS_EXPORT_KEY(bertini::node::Node) BOOST_SERIALIZATION_ASSUME_ABSTRACT(bertini::node::Node) BOOST_CLASS_EXPORT_KEY(bertini::node::Handle) BOOST_CLASS_EXPORT_KEY(bertini::node::Symbol) BOOST_CLASS_EXPORT_KEY(bertini::node::NamedSymbol) BOOST_CLASS_EXPORT_KEY(bertini::node::Number) BOOST_SERIALIZATION_ASSUME_ABSTRACT(bertini::node::Symbol) BOOST_SERIALIZATION_ASSUME_ABSTRACT(bertini::node::NamedSymbol) BOOST_SERIALIZATION_ASSUME_ABSTRACT(bertini::node::Number) BOOST_CLASS_EXPORT_KEY(bertini::node::Variable) BOOST_CLASS_EXPORT_KEY(bertini::node::Differential) BOOST_CLASS_EXPORT_KEY(bertini::node::Float) BOOST_CLASS_EXPORT_KEY(bertini::node::Integer) BOOST_CLASS_EXPORT_KEY(bertini::node::Rational) BOOST_CLASS_EXPORT_KEY(bertini::node::special_number::Pi) BOOST_CLASS_EXPORT_KEY(bertini::node::special_number::E) BOOST_CLASS_EXPORT_KEY(bertini::node::Function) BOOST_CLASS_EXPORT_KEY(bertini::node::Jacobian) BOOST_CLASS_EXPORT_KEY(bertini::node::SinOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::ArcSinOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::CosOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::ArcCosOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::TanOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::ArcTanOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::SumOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::NegateOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::MultOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::PowerOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::IntegerPowerOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::SqrtOperator) BOOST_CLASS_EXPORT_KEY(bertini::node::ExpOperator) BOOST_CLASS_TRACKING(bertini::node::Node, track_always) BOOST_CLASS_TRACKING(bertini::node::Symbol, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::NamedSymbol, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::Number, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::Variable, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::Differential, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::Float, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::Integer, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::Rational, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::special_number::Pi, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::special_number::E, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::Function, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::Jacobian, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::SinOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::ArcSinOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::CosOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::ArcCosOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::TanOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::ArcTanOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::SumOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::NegateOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::MultOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::PowerOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::IntegerPowerOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::SqrtOperator, boost::serialization::track_always) BOOST_CLASS_TRACKING(bertini::node::ExpOperator, boost::serialization::track_always)