QUBO++, a C++ library for generating expressions for binary and spin variables.  
More...
 | 
| template<typename... Args>  | 
| std::string  | qbpp::file_line (const char *file, int line, Args... args) | 
|   | 
| Var  | qbpp::var (const std::string &var_str) | 
|   | 
| Var  | qbpp::var () | 
|   | 
| std::string  | qbpp::str (Var var) | 
|   | 
| std::string  | qbpp::str (const char *param) | 
|   | 
| std::string  | qbpp::str (const Vars &vars) | 
|   | 
| std::string  | qbpp::str (const Term &term) | 
|   | 
| std::string  | qbpp::str (const Expr &expr, const std::string &prefix) | 
|   | 
| std::string  | qbpp::str (const Model &model) | 
|   | 
| std::string  | qbpp::str (const QuadModel &quad_model) | 
|   | 
| std::string  | qbpp::str (const Sol &sol) | 
|   | 
| std::string  | qbpp::str (const MapList &map_list) | 
|   | 
| std::string  | qbpp::str_short (const Expr &expr) | 
|   | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, Var var) | 
|   | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const Term &term) | 
|   | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const Expr &expr) | 
|   | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const Model &model) | 
|   | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const QuadModel &quad_model) | 
|   | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const Sol &sol) | 
|   | 
| void  | qbpp::sort_vars_in_place (Vars &vars) | 
|   | 
| Vars  | qbpp::sort_vars (const Vars &vars) | 
|   | 
| Vars  | qbpp::sort_vars_as_binary (const Vars &vars) | 
|   | 
| Vars  | qbpp::sort_vars_as_spin (const Vars &vars) | 
|   | 
| Expr  | qbpp::simplify (const Expr &expr, Vars(*sort_vars_func)(const Vars &)) | 
|   | 
| Expr  | qbpp::simplify_as_binary (const Expr &expr) | 
|   | 
| Expr  | qbpp::simplify_as_spin (const Expr &expr) | 
|   | 
| bool  | qbpp::is_simplified (const Expr &expr) | 
|   | 
| bool  | qbpp::is_binary (const Expr &expr) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::sqr (const Vector< T > &arg) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::sqr (const Vector< Vector< T >> &arg) -> Vector< decltype(sqr(arg[0]))> | 
|   | 
| energy_t  | qbpp::eval (const Expr &expr, const Sol &sol) | 
|   | 
| energy_t  | qbpp::eval (const Expr &expr, const MapList &map_list) | 
|   | 
| Expr  | qbpp::reduce (const Expr &expr) | 
|   | 
| Expr  | qbpp::binary_to_spin (const Expr &expr) | 
|   | 
| Expr  | qbpp::spin_to_binary (const Expr &expr) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::binary_to_spin (const Vector< T > &arg) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::binary_to_spin (const Vector< Vector< T >> &arg) -> Vector< decltype(binary_to_spin(arg[0]))> | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::spin_to_binary (const Vector< T > &arg) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::spin_to_binary (const Vector< Vector< T >> &arg) -> Vector< decltype(spin_to_binary(arg[0]))> | 
|   | 
| Vector< Expr >  | qbpp::get_row (const Vector< Vector< Expr >> &vec, vindex_t index) | 
|   | 
| Vector< Expr >  | qbpp::get_col (const Vector< Vector< Expr >> &vec, size_t index) | 
|   | 
| double  | qbpp::get_time () | 
|   | 
| vindex_t  | qbpp::all_var_count () | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::sum (const Vector< T > &items) | 
|   | 
| template<typename T >  | 
| Vector< Vector< Expr > >  | qbpp::transpose (const Vector< Vector< T >> &vec) | 
|   | 
| Expr  | qbpp::operator- (const Expr &expr) | 
|   | 
| Expr  | qbpp::operator- (Expr &&expr) | 
|   | 
| energy_t  | qbpp::toInt (const Expr &expr) | 
|   | 
| VarValMap  | qbpp::list_to_var_val (const MapList &map_list) | 
|   | 
| std::string  | qbpp::str (int8_t val) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::str (const T &val) -> decltype(std::to_string(val)) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::str (T val) -> decltype(val.str()) | 
|   | 
| template<typename T >  | 
| T  | qbpp::abs (T val) | 
|   | 
| energy_t  | qbpp::gcd (energy_t a, energy_t b) | 
|   | 
| std::string  | qbpp::str_impl (const Vars &vars, std::function< std::string(Var)> str) | 
|   | 
| std::string  | qbpp::str_impl (const Term &term, std::function< std::string(Var)> str) | 
|   | 
| std::string  | qbpp::str_impl (const Expr &expr, std::function< std::string(Var)> str) | 
|   | 
| std::string  | qbpp::str (const impl::BitVector &bit_vector) | 
|   | 
| std::string  | qbpp::str (const Expr &expr) | 
|   | 
| std::string  | qbpp::str (const Expr &expr, const std::string &prefix, const std::string &separator[[maybe_unused]]=",") | 
|   | 
| template<typename T >  | 
| std::string  | qbpp::str (const Vector< T > &vec, const std::string &prefix="", const std::string &separator=",") | 
|   | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const VarInt &var_int) | 
|   | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const MapList &map_list) | 
|   | 
| template<typename T >  | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const Vector< T > &vec) | 
|   | 
| template<typename T >  | 
| std::ostream &  | qbpp::operator<< (std::ostream &os, const std::pair< std::string, Vector< T >> &vec) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::impl::equal (const T &lhs, const T &rhs) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::impl::equal (const std::vector< T > &lhs, const std::vector< T > &rhs) | 
|   | 
| MapDict  | qbpp::list_to_dict (const MapList &map_list) | 
|   | 
| Expr  | qbpp::replace (const Term &term, const MapDict &map_dict) | 
|   | 
| energy_t  | qbpp::eval (const Term &term, const VarValMap &var_val_map) | 
|   | 
| energy_t  | qbpp::eval (const Term &term, const Sol &sol) | 
|   | 
| Expr  | qbpp::replace (const Expr &expr, const MapList &map_list) | 
|   | 
| energy_t  | qbpp::eval_var_val_map (const Expr &expr, const VarValMap &var_val_map) | 
|   | 
| template<typename T , typename... Args, typename  = typename std::enable_if<std::is_integral<T>::value>::type>  | 
| auto  | qbpp::var (const std::string &var_str, T size, Args... args) | 
|   | 
| template<typename T , typename... Args, typename  = typename std::enable_if<std::is_integral<T>::value>::type>  | 
| auto  | qbpp::var (T size, Args... args) | 
|   | 
| VarIntCore  | qbpp::var_int (const std::string &var_str) | 
|   | 
| VarIntCore  | qbpp::var_int () | 
|   | 
| template<typename T , typename... Args>  | 
| auto  | qbpp::var_int (const std::string &var_str, T size, Args... args) | 
|   | 
| std::vector< coeff_t >  | qbpp::comp_coeffs (energy_t min_val, energy_t max_val, energy_t base_coeff=1) | 
|   | 
| VarInt  | qbpp::new_var_int (const std::string &var_str, energy_t min_val, energy_t max_val, energy_t base_coeff=1) | 
|   | 
| VarInt  | qbpp::new_var_int (const VarIntCore &var_int_core, energy_t min_val, energy_t max_val, energy_t base_coeff=1) | 
|   | 
| auto  | qbpp::operator<= (energy_t lhs, VarIntCore &&rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (energy_t lhs, Vector< T > &&rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (const std::pair< energy_t, T > lhs, energy_t rhs) | 
|   | 
| std::pair< energy_t, Vector< VarIntCore > >  | qbpp::operator<= (energy_t lhs, const Vector< VarIntCore > &rhs) | 
|   | 
| auto  | qbpp::operator<= (const std::pair< energy_t, Vector< VarIntCore >> lhs, energy_t rhs) | 
|   | 
| void  | qbpp::operator<= (energy_t, Var)=delete | 
|   | 
| void  | qbpp::operator<= (Var, energy_t)=delete | 
|   | 
| Expr  | qbpp::expr () | 
|   | 
| Vector< Expr >  | qbpp::expr (vindex_t size) | 
|   | 
| template<typename T , typename... Args>  | 
| auto  | qbpp::expr (T size, Args... args) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::toExpr (const T &arg) | 
|   | 
| Expr  | qbpp::toExpr (const Expr &arg) | 
|   | 
| Vector< Expr >  | qbpp::toExpr (const Vector< Expr > &arg) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::toExpr (const Vector< T > &arg) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::toExpr (const std::vector< T > &arg) | 
|   | 
| Vector< Expr >  | qbpp::toExpr (const std::initializer_list< Expr > &list) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::toExpr (const std::initializer_list< T > &list) | 
|   | 
| Vector< Vector< Expr > >  | qbpp::toExpr (const std::initializer_list< std::initializer_list< Expr >> &list) | 
|   | 
| Vector< Vector< Vector< Expr > > >  | qbpp::toExpr (const std::initializer_list< std::initializer_list< std::initializer_list< Expr >>> &list) | 
|   | 
| Vector< Vector< Vector< Vector< Expr > > > >  | qbpp::toExpr (const std::initializer_list< std::initializer_list< std::initializer_list< std::initializer_list< Expr >>>> &list) | 
|   | 
| Expr &&  | qbpp::operator* (Expr &&lhs, Expr &&rhs) | 
|   | 
| Expr &&  | qbpp::operator* (Expr &&lhs, const Expr &rhs) | 
|   | 
| Expr &&  | qbpp::operator* (const Expr &lhs, Expr &&rhs) | 
|   | 
| Expr  | qbpp::operator* (const Expr &lhs, const Expr &rhs) | 
|   | 
| Expr &&  | qbpp::operator+ (Expr &&lhs, Expr &&rhs) | 
|   | 
| Expr &&  | qbpp::operator+ (Expr &&lhs, const Expr &rhs) | 
|   | 
| Expr &&  | qbpp::operator+ (const Expr &lhs, Expr &&rhs) | 
|   | 
| Expr  | qbpp::operator+ (const Expr &lhs, const Expr &rhs) | 
|   | 
| Expr &&  | qbpp::operator- (Expr &&lhs, Expr &&rhs) | 
|   | 
| Expr &&  | qbpp::operator- (Expr &&lhs, const Expr &rhs) | 
|   | 
| Expr &&  | qbpp::operator- (const Expr &lhs, Expr &&rhs) | 
|   | 
| Expr  | qbpp::operator- (const Expr &lhs, const Expr &rhs) | 
|   | 
| Expr &&  | qbpp::operator/ (Expr &&expr, energy_t val) | 
|   | 
| Expr  | qbpp::operator/ (const Expr &expr, energy_t val) | 
|   | 
| Expr  | qbpp::operator+ (Expr &&expr) | 
|   | 
| const Expr &  | qbpp::operator+ (const Expr &expr) | 
|   | 
| Expr  | qbpp::sqr (const Expr &expr) | 
|   | 
| energy_t  | qbpp::gcd (const Expr &expr) | 
|   | 
| Expr  | qbpp::operator== (const Expr &expr, energy_t val) | 
|   | 
| Expr  | qbpp::comparison (const Expr &expr, energy_t minimum, energy_t maximum) | 
|   | 
| std::pair< energy_t, Expr >  | qbpp::operator<= (energy_t min_val, const Expr &expr) | 
|   | 
| Expr  | qbpp::operator<= (const std::pair< energy_t, Expr > &pair, energy_t max_val) | 
|   | 
| Expr  | qbpp::operator<= (const std::pair< energy_t, Expr > &pair, Inf val) | 
|   | 
| std::pair< energy_t, Expr >  | qbpp::operator<= (Inf val, const Expr &expr) | 
|   | 
| Expr  | qbpp::simplify_seq (const Expr &expr, Vars(*sort_vars_func)(const Vars &)=sort_vars) | 
|   | 
| template<typename T >  | 
| Vector< T >  | qbpp::simplify (const Vector< T > &vec, Vars(*sort_vars_func)(const Vars &)=sort_vars) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::simplify_as_binary (const Vector< T > &arg) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::simplify_as_spin (const Vector< T > &arg) | 
|   | 
| Expr  | qbpp::reduce_sum (const Term &term) | 
|   | 
| Expr  | qbpp::reduce_cascade (const Term &term) | 
|   | 
| template<typename T , typename U >  | 
| Vector< Expr >  | qbpp::operator+ (const Vector< T > &lhs, const Vector< U > &rhs) | 
|   | 
| template<typename T , typename U >  | 
| auto  | qbpp::operator+ (const Vector< Vector< T >> &lhs, const Vector< Vector< U >> &rhs) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::operator+ (const Vector< T > &lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::operator+ (Vector< T > &&lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator+ (const Vector< Vector< T >> &lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator+ (Vector< Vector< T >> &&lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator+ (const Expr &lhs, const Vector< T > &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator+ (const Expr &lhs, Vector< T > &&rhs) | 
|   | 
| template<typename T , typename U >  | 
| Vector< Expr >  | qbpp::operator* (const Vector< T > &lhs, const Vector< U > &rhs) | 
|   | 
| template<typename T , typename U >  | 
| auto  | qbpp::operator* (const Vector< Vector< T >> &lhs, const Vector< Vector< U >> &rhs) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::operator* (const Vector< T > &lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::operator* (Vector< T > &&lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator* (const Vector< Vector< T >> &lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator* (Vector< Vector< T >> &&lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator* (const Expr &lhs, const Vector< T > &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator* (const Expr &lhs, Vector< T > &&rhs) | 
|   | 
| template<typename T , typename U >  | 
| Vector< Expr >  | qbpp::operator- (const Vector< T > &lhs, const Vector< U > &rhs) | 
|   | 
| template<typename T , typename U >  | 
| auto  | qbpp::operator- (const Vector< Vector< T >> &lhs, const Vector< Vector< U >> &rhs) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::operator- (const Vector< T > &lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::operator- (Vector< T > &&lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator- (const Vector< Vector< T >> &lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator- (Vector< Vector< T >> &&lhs, const Expr &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator- (const Expr &lhs, const Vector< T > &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator/ (const Vector< T > &lhs, energy_t rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator+ (const Vector< T > &lhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator- (const Vector< T > &lhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator== (const Vector< T > &lhs, energy_t rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (energy_t lhs, const Vector< T > &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (Inf lhs, const Vector< T > &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (const std::pair< energy_t, Vector< T >> &lhs, energy_t rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (const std::pair< energy_t, Vector< T >> &lhs, Inf rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (const std::pair< Inf, Vector< T >> &lhs, energy_t rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (energy_t lhs, const Vector< Vector< T >> &rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (const std::pair< energy_t, Vector< Vector< T >>> &lhs, energy_t rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (const std::pair< energy_t, Vector< Vector< T >>> &lhs, Inf rhs) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::operator<= (const std::pair< Inf, Vector< Vector< T >>> &lhs, energy_t rhs) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::sum (const T &arg[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::sum (const Vector< Vector< T >> &arg[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::total_sum_impl (const T &item) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::total_sum_impl (const Vector< T > &items) | 
|   | 
| template<typename T >  | 
| qbpp::Expr  | qbpp::total_sum (const T &arg[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| qbpp::Expr  | qbpp::total_sum (const Vector< T > &arg[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::total_sum (const Vector< Vector< T >> &items) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::vector_sum (const T &items[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::vector_sum (const Vector< T > &items[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::vector_sum_impl (const T &items) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::vector_sum_impl (const Vector< T > &items) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::vector_sum_impl (const Vector< Vector< T >> &items) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::vector_sum (const Vector< Vector< T >> &items) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::product (const T &arg[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::product (const Vector< Vector< T >> &arg[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::product (const Vector< T > &items) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::total_product_impl (const T &item) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::total_product_impl (const Vector< T > &items) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::total_product (const Vector< Vector< T >> &items) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::total_product (const T &arg[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::total_product (const Vector< T > &arg[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::vector_product (const T &items[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| Expr  | qbpp::vector_product (const Vector< T > &items[[maybe_unused]]) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::vector_product_impl (const T &items) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::vector_product_impl (const Vector< T > &items) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::vector_product_impl (const Vector< Vector< T >> &items) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::vector_product (const Vector< Vector< T >> &items) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::toInt (const Vector< T > &arg) | 
|   | 
| template<typename T >  | 
| Vector< energy_t >  | qbpp::eval_var_val_map (const Vector< T > &arg, const VarValMap &var_val_map) | 
|   | 
| template<typename T >  | 
| Vector< energy_t >  | qbpp::eval (const Vector< T > &arg, const MapList &map_list) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::eval_var_val_map (const Vector< Vector< T >> &arg, const VarValMap &var_val_map) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::eval (const Vector< Vector< T >> &arg, const MapList &map_list) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::replace (const Vector< T > &arg, const MapList &map_list) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::replace (const Vector< Vector< T >> &arg, const MapList &map_list) | 
|   | 
| template<typename T , typename F >  | 
| auto  | qbpp::element_wise (const Vector< T > &arg, F func) | 
|   | 
| template<typename T >  | 
| Vector< Expr >  | qbpp::reduce (const Vector< T > &arg) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::reduce (const Vector< Vector< T >> &arg) | 
|   | 
| template<typename T >  | 
| energy_t  | qbpp::gcd (const Vector< T > &vec) | 
|   | 
| int32_t  | qbpp::onehot_to_int (const Vector< var_val_t > &vec) | 
|   | 
| template<typename T >  | 
| auto  | qbpp::onehot_to_int (const Vector< Vector< T >> &vec) | 
|   | 
| std::tuple< bool, size_t, size_t, coeff_t, coeff_t >  | qbpp::check_if_simplified_as_binary (const Expr &expr) | 
|   |