Polynomial.
More...
#include <variable.hpp>
Polynomial.
Definition at line 574 of file variable.hpp.
◆ Polynomial() [1/7]
gadgetlib2::Polynomial::Polynomial |
( |
| ) |
|
|
inline |
Definition at line 581 of file variable.hpp.
581 : monomials_(), constant_(0) {}
◆ Polynomial() [2/7]
gadgetlib2::Polynomial::Polynomial |
( |
const Monomial & |
monomial | ) |
|
|
inline |
Definition at line 582 of file variable.hpp.
582 : monomials_(1, monomial), constant_(0)
◆ Polynomial() [3/7]
gadgetlib2::Polynomial::Polynomial |
( |
const Variable & |
var | ) |
|
|
inline |
Definition at line 585 of file variable.hpp.
585 : monomials_(1, Monomial(var)), constant_(0)
◆ Polynomial() [4/7]
gadgetlib2::Polynomial::Polynomial |
( |
const FElem & |
val | ) |
|
|
inline |
Definition at line 588 of file variable.hpp.
588 : monomials_(), constant_(val) {}
◆ Polynomial() [5/7]
Definition at line 704 of file variable.cpp.
705 : monomials_(), constant_(linearCombination.constant_)
707 for (
const LinearTerm &linearTerm : linearCombination.linearTerms_) {
708 monomials_.push_back(Monomial(linearTerm));
◆ Polynomial() [6/7]
gadgetlib2::Polynomial::Polynomial |
( |
const LinearTerm & |
linearTerm | ) |
|
|
inline |
Definition at line 590 of file variable.hpp.
591 : monomials_(1, Monomial(linearTerm)), constant_(0)
◆ Polynomial() [7/7]
gadgetlib2::Polynomial::Polynomial |
( |
int |
i | ) |
|
|
inline |
Definition at line 594 of file variable.hpp.
594 : monomials_(), constant_(i) {}
◆ asString()
std::string gadgetlib2::Polynomial::asString |
( |
| ) |
const |
Definition at line 735 of file variable.cpp.
740 if (monomials_.size() == 0) {
744 auto iter = monomials_.begin();
745 retval += iter->asString();
746 for (++iter; iter != monomials_.end(); ++iter) {
747 retval +=
" + " + iter->asString();
749 if (constant_ != 0) {
750 retval +=
" + " + constant_.
asString();
◆ eval()
Definition at line 712 of file variable.cpp.
714 FElem retval = constant_;
715 for (
const Monomial &monomial : monomials_) {
716 retval += monomial.eval(assignment);
◆ getConstant()
const FElem gadgetlib2::Polynomial::getConstant |
( |
| ) |
const |
◆ getMonomials()
const vector< Monomial > & gadgetlib2::Polynomial::getMonomials |
( |
| ) |
const |
◆ getUsedVariables()
const Variable::set gadgetlib2::Polynomial::getUsedVariables |
( |
| ) |
const |
Definition at line 721 of file variable.cpp.
724 for (
const Monomial &monomial : monomials_) {
726 retset.insert(curSet.begin(), curSet.end());
◆ operator*=()
Definition at line 763 of file variable.cpp.
765 vector<Monomial> newMonomials;
766 for (
const Monomial &thisMonomial : monomials_) {
767 for (
const Monomial &otherMonomial : other.monomials_) {
768 newMonomials.push_back(thisMonomial * otherMonomial);
770 newMonomials.push_back(thisMonomial * other.constant_);
772 for (
const Monomial &otherMonomial : other.monomials_) {
773 newMonomials.push_back(otherMonomial * this->constant_);
775 constant_ *= other.constant_;
776 monomials_ = ::std::move(newMonomials);
◆ operator+=() [1/2]
◆ operator+=() [2/2]
Definition at line 755 of file variable.cpp.
757 constant_ += other.constant_;
759 monomials_.end(), other.monomials_.begin(), other.monomials_.end());
◆ operator-=()
Definition at line 780 of file variable.cpp.
782 constant_ -= other.constant_;
783 for (
const Monomial &otherMonomial : other.monomials_) {
784 monomials_.push_back(-otherMonomial);
The documentation for this class was generated from the following files:
- /home/runner/work/libsnark/libsnark/libsnark/gadgetlib2/variable.hpp
- /home/runner/work/libsnark/libsnark/libsnark/gadgetlib2/variable.cpp