Ultra 0.9.4
Loading...
Searching...
No Matches
de/problem.h
Go to the documentation of this file.
1
12
13#if !defined(ULTRA_DE_PROBLEM_H)
14#define ULTRA_DE_PROBLEM_H
15
16#include "kernel/problem.h"
17#include "kernel/de/primitive.h"
18
19namespace ultra::de
20{
21
28class problem : public ultra::problem
29{
30public:
31 // ---- Constructors ----
32 problem() = default;
33 problem(std::size_t, const interval<double> &);
34 explicit problem(const std::vector<interval<double>> &);
35
36 [[nodiscard]] std::size_t parameters() const noexcept;
37
38 template<symbol_set::weight_t = symbol_set::default_weight>
41};
42
51template<symbol_set::weight_t W>
53 symbol::category_t category)
54{
55 return sset.insert<real, W>(itval, category);
56}
57
58} // namespace ultra::de
59
60#endif // include guard
real * insert(const interval< double > &, symbol::category_t=symbol::undefined_category)
Definition de/problem.h:52
std::size_t parameters() const noexcept
Definition de/problem.cc:65
Definition de/primitive.h:36
static constexpr category_t undefined_category
Sentinel value indicating that the category has not yet been assigned.
Definition symbol.h:61
unsigned category_t
Definition symbol.h:55
Definition interval.h:37
Definition problem.h:26