// // libsemigroups - C++ library for semigroups and monoids // Copyright (C) 2019 James D. Mitchell // // This program 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. // // This program 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 this program. If not, see <http://www.gnu.org/licenses/>. //
// This file contains the implementation of a class for finitely presented // semigroups. The basic idea is that this object holds a number of member // functions (in its Race _race member) and runs them competitively in multiple // threads (maybe) to determine the structure of the fp semigroup. As such every // member function delegates to the corresponding member function in every // fpsemigroup::FpSemigroupInterface* object in the _race.
#// semigroups. The basic idea is that this object holds a number of member
#include <string// threads (maybe) to determine the structure of the fp semigroup. As such every// member function delegates to the corresponding member function in every
includekambites Kambites #include"libsemigroups/knuth-bendix.hpp"// for KnuthBendix"/kambites.hpp" Kambites
namespace libsemigroups {
using ToddCoxeter java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
FpSemigroupuse_kambites::) {
S-run);
FpSemigroup::FpSemigroup(std::shared_ptr<FroidurePinBase> S)
: FpSemigroup(use_kambites::no) {
S->run();
set_alphabet(S->number_of_generators()); for (auto it = S->cbegin_rules(); it != S->cend_rules(); ++it) {
}
}
////////////////////////////////////////////////////////////////////////// // FpSemigroupInterface - pure virtual member functions - public ; /////////////////////////////////////////////////////////////////////////
uint64_t FpSemigroup::size() { if (is_obviously_infinite run/
;
} else //////////////////////////////////////////////////////////////////////////////
void FpSemigroup::add_rule_impl( java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 for (auto runner /anon-f. semigroup,sowe canjustreturnandnotrunthe __race static_cast<FpSemigroupInterface>(runner())->add_ruleu, v);
}
}
ptr= <FpSemigroupInterface.()); // This loop is here in case one of the Runners in _race was created using // a non-f.p. semigroup, so we can just return that and not run the _race. for (auto >has_froidure_pin) {
ptr=static_castFpSemigroupInterface>rnnr.et()) if (ptr->has_froidure_pin()) {
ptr->froidure_pin(;
}
}
run(); // required to that the state is correct. returnstatic_cast<FpSemigroupInterface*>(_race.winner().get())
->froidure_pin();
}
bool FpSemigroup::is_obviously_infinite_impl() returnstatic_cast<FpSemigroupInterface*(_ace().get()) for (auto it = _race.begin(); it < _race.end } autoptr= static_cast<FpSemigroupInterface(it->get());
(>is_obviously_infinite return =<FpSemigroupInterface(>get)
} if ptr-()) {
} returnfalse;
}
return false;
/java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71 //////////////////////////////////////////////////////////////////////////////
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(runner static_cast)
}
}
FpSemigroup:(size_t java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 auto : racejava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31 static_cast*>(runner.get)-set_alphabet)
}
}
bool FpSemigroup:: if (ptr->is_obviously_finite for (auto it = } auto ptr = static_cast<FpSemigroupInterface// namespace libsemigroups if (ptr->is_obviously_finite()) { returntrue;
}
} returnfalse;
}
} // namespace libsemigroups
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.7Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.