22#ifndef LIBSEMIGROUPS_PATHS_COUNT_HPP_
23#define LIBSEMIGROUPS_PATHS_COUNT_HPP_
32#include "detail/containers.hpp"
33#include "detail/eigen.hpp"
36#include "constants.hpp"
38#include "exception.hpp"
39#include "word-graph-helpers.hpp"
40#include "word-graph.hpp"
41#include "word-range.hpp"
43namespace libsemigroups::v4 {
54 enum class algorithm {
81 template <
typename Node1,
typename Node2>
83 Node2 source)
noexcept {
86 return algorithm::acyclic;
111 template <
typename Node1,
typename Node2>
112 [[nodiscard]] uint64_t count(WordGraph<Node1>
const& wg, Node2 source);
135 template <
typename Node1,
typename Node2>
136 [[nodiscard]] algorithm count_algorithm(WordGraph<Node1>
const& wg,
191 template <
typename Node1,
typename Node2>
192 [[nodiscard]] uint64_t count(WordGraph<Node1>
const& wg,
196 algorithm lgrthm = algorithm::automatic);
221 template <
typename Node1,
typename Node2>
222 [[nodiscard]] algorithm count_algorithm(WordGraph<Node1>
const& wg,
273 template <
typename Node1,
typename Node2>
274 [[nodiscard]] uint64_t count(WordGraph<Node1>
const& wg,
279 algorithm lgrthm = algorithm::automatic);
283#include "paths-count.tpp"
Class for representing word graphs.
Definition word-graph.hpp:83
Namespace for helper functions for matrices.
Definition matrix.hpp:170