37#include "bertini2/common/config.hpp"
43namespace bertini{
namespace start_system{
48namespace boost {
namespace serialization {
49template<
class Archive>
50inline void save_construct_data(Archive & ar,
const bertini::start_system::User * t,
const unsigned int file_version);
56 namespace start_system{
68 virtual ~User() =
default;
73 User(
System const& s, SampCont<dbl>
const& solns);
74 User(
System const& s, SampCont<mpfr_complex>
const& solns);
83 User& operator*=(Nd
const& n) =
delete;
85 User& operator+=(
System const& sys) =
delete;
94 Vec<dbl> GenerateStartPoint(dbl,
unsigned long long index)
const override;
101 Vec<mpfr_complex> GenerateStartPoint(mpfr_complex,
unsigned long long index)
const override;
104 friend class boost::serialization::access;
105 template<
class Archive>
friend void boost::serialization::save_construct_data(Archive & ar,
const User * t,
const unsigned int file_version);
107 template <
typename Archive>
108 void serialize(Archive& ar,
const unsigned version) {
109 ar & boost::serialization::base_object<StartSystem>(*
this);
113 std::tuple<SampCont<dbl>, SampCont<mpfr_complex>> solns_;
119namespace boost {
namespace serialization {
120template<
class Archive>
121inline void save_construct_data(
125 ar << t->user_system_;
126 ar << t->solns_in_dbl_;
128 ar << std::get<0>(t->solns_);
129 ar << std::get<1>(t->solns_);
133template<
class Archive>
134inline void load_construct_data(
135 Archive & ar, bertini::start_system::User * t,
const unsigned int file_version
146 bertini::SampCont<bertini::dbl> solns;
148 ::new(t)bertini::start_system::User(sys, solns);
152 bertini::SampCont<bertini::mpfr_complex> solns;
154 ::new(t)bertini::start_system::User(sys, solns);
The fundamental polynomial system class for Bertini2.
Definition system/system.hpp:99
System()
The default constructor for a system.
Definition system/system.hpp:111
Abstract base class for other start systems.
Definition start_base.hpp:49
The user-provided start system for Numerical Algebraic Geometry.
Definition user.hpp:65
unsigned long long NumStartPoints() const override
Definition user.cpp:47
Defines generic start system type.
utilities for start system code.