Skip to content

Commit 5e87d24

Browse files
hpcombi: support Vect16 + PTransf16 + Transf16
1 parent e813409 commit 5e87d24

13 files changed

Lines changed: 2859 additions & 2 deletions

File tree

docs/source/data-structures/elements/transformations/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,5 @@ This page describes the functionality for various partial transformations in
1818
pperm
1919
transf
2020
helpers
21+
22+
See also :any:`hpcombi.PTransf16`.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
..
2+
Copyright (c) 2021-2024 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11
9+
10+
HPCombi
11+
=======
12+
13+
This page describes the functionality from ``HPCombi`` available in
14+
``libsemigroups_pybind11``. This functionality is only available if
15+
:any:`LIBSEMIGROUPS_HPCOMBI_ENABLED` is ``True``.
16+
17+
.. py:attribute:: LIBSEMIGROUPS_HPCOMBI_ENABLED
18+
:type: bool
19+
20+
This variable indicates whether or not the version of ``libsemigroups``
21+
being used by ``libsemigroups_pybind11`` was compiled with ``HPCombi``
22+
enabled.
23+
24+
.. toctree::
25+
:maxdepth: 1
26+
27+
perm16
28+
ptransf16
29+
transf16
30+
vect16
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
..
2+
Copyright (c) 2025 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11.hpcombi
9+
10+
The Perm16 class
11+
==================
12+
13+
.. autoclass:: Perm16
14+
:doc-only:
15+
16+
Contents
17+
--------
18+
19+
.. autosummary::
20+
:signatures: short
21+
22+
~Perm16
23+
Perm16.copy
24+
Perm16.cycles_partition
25+
Perm16.elementary_transposition
26+
Perm16.inverse
27+
Perm16.inverse_arr
28+
Perm16.inverse_cycl
29+
Perm16.inverse_find
30+
Perm16.inverse_pow
31+
Perm16.inverse_ref
32+
Perm16.inverse_sort
33+
Perm16.left_weak_leq
34+
Perm16.left_weak_leq_length
35+
Perm16.left_weak_leq_ref
36+
Perm16.lehmer
37+
Perm16.lehmer_arr
38+
Perm16.lehmer_ref
39+
Perm16.length
40+
Perm16.length_arr
41+
Perm16.length_ref
42+
Perm16.nb_cycles
43+
Perm16.nb_cycles_ref
44+
Perm16.nb_cycles_unroll
45+
Perm16.nb_descents
46+
Perm16.nb_descents_ref
47+
Perm16.one
48+
Perm16.unrankSJT
49+
Perm16.validate
50+
51+
Full API
52+
--------
53+
54+
.. autoclass:: Perm16
55+
:class-doc-from: init
56+
:members:
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
..
2+
Copyright (c) 2025 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11.hpcombi
9+
10+
The PTransf16 class
11+
===================
12+
13+
.. autoclass:: PTransf16
14+
:doc-only:
15+
16+
Contents
17+
--------
18+
19+
.. autosummary::
20+
:signatures: short
21+
22+
~PTransf16
23+
PTransf16.copy
24+
PTransf16.domain_bitset
25+
PTransf16.domain_mask
26+
PTransf16.fix_points_bitset
27+
PTransf16.fix_points_mask
28+
PTransf16.image_bitset
29+
PTransf16.image_mask
30+
PTransf16.image_mask_ref
31+
PTransf16.largest_fix_point
32+
PTransf16.largest_moved_point
33+
PTransf16.left_one
34+
PTransf16.nb_fix_points
35+
PTransf16.one
36+
PTransf16.rank
37+
PTransf16.rank_cmpestrm
38+
PTransf16.rank_ref
39+
PTransf16.right_one
40+
PTransf16.smallest_fix_point
41+
PTransf16.smallest_moved_point
42+
PTransf16.validate
43+
44+
Full API
45+
--------
46+
47+
.. autoclass:: PTransf16
48+
:class-doc-from: init
49+
:members:
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
..
2+
Copyright (c) 2025 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11.hpcombi
9+
10+
The Transf16 class
11+
==================
12+
13+
.. autoclass:: Transf16
14+
:doc-only:
15+
16+
Contents
17+
--------
18+
19+
.. autosummary::
20+
:signatures: short
21+
22+
~Transf16
23+
Transf16.copy
24+
Transf16.one
25+
Transf16.validate
26+
27+
Full API
28+
--------
29+
30+
.. autoclass:: Transf16
31+
:class-doc-from: init
32+
:members:
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
..
2+
Copyright (c) 2025 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11.hpcombi
9+
10+
The Vect16 class
11+
================
12+
13+
.. autoclass:: Vect16
14+
:doc-only:
15+
16+
Contents
17+
--------
18+
19+
.. autosummary::
20+
:signatures: short
21+
22+
~Vect16
23+
Vect16.copy
24+
Vect16.eval16
25+
Vect16.first_diff
26+
Vect16.first_non_zero
27+
Vect16.first_zero
28+
Vect16.is_permutation
29+
Vect16.last_diff
30+
Vect16.last_non_zero
31+
Vect16.last_zero
32+
Vect16.less_partial
33+
Vect16.partial_sums
34+
Vect16.sum
35+
36+
Full API
37+
--------
38+
39+
.. autoclass:: Vect16
40+
:class-doc-from: init
41+
:members:

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ We would like to thank the authors and contributors of these projects!
139139
data-structures/constants/index
140140
data-structures/elements/index
141141
data-structures/enums/index
142+
data-structures/hpcombi/index
142143
data-structures/order/index
143144
data-structures/presentations/index
144145
data-structures/suffix-trees/index

0 commit comments

Comments
 (0)