libsemigroups
v3.1.2
C++ library for semigroups and monoids
Main Page
Library Info
Authors
Bibliography
Changelog - version 3
Changelog - version 2
Changelog - version 1
Installation
Data structures
Adapters
Constants
Elements
Exceptions
Orders
Presentations
Ranges
Suffix trees
The `make` function
The `to` function
Tries
Enums + Types
Visualisation
Word graphs
Words
Main Algorithms
Actions
Common congruence helper function
Congruence
Core classes
Froidure-Pin
Kambites
Knuth-Bendix
Konieczny
Low Index Congruences
Radoszewski-Rytter
Schreier-Sims
Stephen
Todd-Coxeter
Loading...
Searching...
No Matches
debug.hpp
1
//
2
// libsemigroups - C++ library for semigroups and monoids
3
// Copyright (C) 2019-2025 James D. Mitchell
4
//
5
// This program is free software: you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation, either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program. If not, see <http://www.gnu.org/licenses/>.
17
//
18
19
// This file declares debugging functionality.
20
21
#ifndef LIBSEMIGROUPS_DEBUG_HPP_
22
#define LIBSEMIGROUPS_DEBUG_HPP_
23
24
#include "config.hpp"
25
26
#ifdef LIBSEMIGROUPS_DEBUG
27
#include <cassert>
28
#define LIBSEMIGROUPS_ASSERT(x) assert(x)
29
#else
30
#define LIBSEMIGROUPS_ASSERT(x)
31
#endif
32
33
#if (defined(__GNUC__) && __GNUC__ < 9 \
34
&& !(defined(__clang__) || defined(__INTEL_COMPILER)))
35
#error "GCC version 9.0 or higher is required"
36
#endif
37
38
#endif
// LIBSEMIGROUPS_DEBUG_HPP_
include
libsemigroups
debug.hpp
Generated by
1.13.2