passagemath-gap-pkg-semigroups 10.6.30__cp310-cp310-macosx_13_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passagemath-gap-pkg-semigroups might be problematic. Click here for more details.
- gap/pkg/semigroups/CHANGELOG.md +1699 -0
- gap/pkg/semigroups/CONTRIBUTING.md +91 -0
- gap/pkg/semigroups/GNUmakefile +110 -0
- gap/pkg/semigroups/GNUmakefile.in +110 -0
- gap/pkg/semigroups/GPL +674 -0
- gap/pkg/semigroups/LICENSE +16 -0
- gap/pkg/semigroups/Makefile +26 -0
- gap/pkg/semigroups/Makefile.gappkg +225 -0
- gap/pkg/semigroups/PackageInfo.g +529 -0
- gap/pkg/semigroups/README.md +102 -0
- gap/pkg/semigroups/VERSIONS +112 -0
- gap/pkg/semigroups/aclocal.m4 +375 -0
- gap/pkg/semigroups/autogen.sh +25 -0
- gap/pkg/semigroups/bin/aarch64-apple-darwin23-default64-kv10/semigroups.so +0 -0
- gap/pkg/semigroups/config.guess +1807 -0
- gap/pkg/semigroups/config.log +1158 -0
- gap/pkg/semigroups/config.status +1131 -0
- gap/pkg/semigroups/config.sub +1960 -0
- gap/pkg/semigroups/configure +9742 -0
- gap/pkg/semigroups/configure.ac +71 -0
- gap/pkg/semigroups/data/doc/greens.pickle +1 -0
- gap/pkg/semigroups/data/gens/fullbool-8.pickle.gz +0 -0
- gap/pkg/semigroups/data/gens/fullbool.pickle.gz +0 -0
- gap/pkg/semigroups/data/gens/hall.pickle.gz +0 -0
- gap/pkg/semigroups/data/gens/reflex-6.pickle.gz +0 -0
- gap/pkg/semigroups/data/gens/reflex.pickle.gz +0 -0
- gap/pkg/semigroups/data/tst/bipart4 +10 -0
- gap/pkg/semigroups/data/tst/pperm10 +1 -0
- gap/pkg/semigroups/data/tst/tables.gz +0 -0
- gap/pkg/semigroups/data/tst/testdata +1 -0
- gap/pkg/semigroups/data/tst/testinstall.pickle +1 -0
- gap/pkg/semigroups/data/tst/trans3 +7 -0
- gap/pkg/semigroups/data/tst/trans3-old +7 -0
- gap/pkg/semigroups/environment.yml +7 -0
- gap/pkg/semigroups/gap/attributes/acting.gd +15 -0
- gap/pkg/semigroups/gap/attributes/acting.gi +297 -0
- gap/pkg/semigroups/gap/attributes/attr.gd +91 -0
- gap/pkg/semigroups/gap/attributes/attr.gi +1214 -0
- gap/pkg/semigroups/gap/attributes/dual.gd +25 -0
- gap/pkg/semigroups/gap/attributes/dual.gi +209 -0
- gap/pkg/semigroups/gap/attributes/factor.gd +17 -0
- gap/pkg/semigroups/gap/attributes/factor.gi +453 -0
- gap/pkg/semigroups/gap/attributes/homomorph.gd +84 -0
- gap/pkg/semigroups/gap/attributes/homomorph.gi +591 -0
- gap/pkg/semigroups/gap/attributes/inverse.gd +38 -0
- gap/pkg/semigroups/gap/attributes/inverse.gi +708 -0
- gap/pkg/semigroups/gap/attributes/isomorph.gd +16 -0
- gap/pkg/semigroups/gap/attributes/isomorph.gi +377 -0
- gap/pkg/semigroups/gap/attributes/isorms.gd +49 -0
- gap/pkg/semigroups/gap/attributes/isorms.gi +1383 -0
- gap/pkg/semigroups/gap/attributes/maximal.gd +16 -0
- gap/pkg/semigroups/gap/attributes/maximal.gi +1876 -0
- gap/pkg/semigroups/gap/attributes/properties.gd +109 -0
- gap/pkg/semigroups/gap/attributes/properties.gi +1658 -0
- gap/pkg/semigroups/gap/attributes/rms-translat.gd +39 -0
- gap/pkg/semigroups/gap/attributes/rms-translat.gi +1078 -0
- gap/pkg/semigroups/gap/attributes/semifp.gd +12 -0
- gap/pkg/semigroups/gap/attributes/semifp.gi +84 -0
- gap/pkg/semigroups/gap/attributes/translat.gd +474 -0
- gap/pkg/semigroups/gap/attributes/translat.gi +1779 -0
- gap/pkg/semigroups/gap/congruences/cong.gd +154 -0
- gap/pkg/semigroups/gap/congruences/cong.gi +351 -0
- gap/pkg/semigroups/gap/congruences/conginv.gd +38 -0
- gap/pkg/semigroups/gap/congruences/conginv.gi +589 -0
- gap/pkg/semigroups/gap/congruences/conglatt.gd +101 -0
- gap/pkg/semigroups/gap/congruences/conglatt.gi +886 -0
- gap/pkg/semigroups/gap/congruences/congpairs.gd +21 -0
- gap/pkg/semigroups/gap/congruences/congpairs.gi +272 -0
- gap/pkg/semigroups/gap/congruences/congpart.gd +90 -0
- gap/pkg/semigroups/gap/congruences/congpart.gi +449 -0
- gap/pkg/semigroups/gap/congruences/congrees.gd +20 -0
- gap/pkg/semigroups/gap/congruences/congrees.gi +313 -0
- gap/pkg/semigroups/gap/congruences/congrms.gd +54 -0
- gap/pkg/semigroups/gap/congruences/congrms.gi +1467 -0
- gap/pkg/semigroups/gap/congruences/congsemigraph.gd +28 -0
- gap/pkg/semigroups/gap/congruences/congsemigraph.gi +289 -0
- gap/pkg/semigroups/gap/congruences/congsimple.gd +27 -0
- gap/pkg/semigroups/gap/congruences/congsimple.gi +236 -0
- gap/pkg/semigroups/gap/congruences/conguniv.gd +20 -0
- gap/pkg/semigroups/gap/congruences/conguniv.gi +271 -0
- gap/pkg/semigroups/gap/congruences/congwordgraph.gd +21 -0
- gap/pkg/semigroups/gap/congruences/congwordgraph.gi +250 -0
- gap/pkg/semigroups/gap/elements/bipart.gd +71 -0
- gap/pkg/semigroups/gap/elements/bipart.gi +995 -0
- gap/pkg/semigroups/gap/elements/blocks.gd +31 -0
- gap/pkg/semigroups/gap/elements/blocks.gi +134 -0
- gap/pkg/semigroups/gap/elements/boolmat.gd +74 -0
- gap/pkg/semigroups/gap/elements/boolmat.gi +726 -0
- gap/pkg/semigroups/gap/elements/elements.gd +11 -0
- gap/pkg/semigroups/gap/elements/elements.gi +121 -0
- gap/pkg/semigroups/gap/elements/ffmat.gd +71 -0
- gap/pkg/semigroups/gap/elements/ffmat.gi +311 -0
- gap/pkg/semigroups/gap/elements/maxplusmat.gd +131 -0
- gap/pkg/semigroups/gap/elements/maxplusmat.gi +782 -0
- gap/pkg/semigroups/gap/elements/pbr.gd +51 -0
- gap/pkg/semigroups/gap/elements/pbr.gi +740 -0
- gap/pkg/semigroups/gap/elements/pperm.gd +11 -0
- gap/pkg/semigroups/gap/elements/pperm.gi +14 -0
- gap/pkg/semigroups/gap/elements/semiringmat.gd +136 -0
- gap/pkg/semigroups/gap/elements/semiringmat.gi +717 -0
- gap/pkg/semigroups/gap/elements/star.gd +21 -0
- gap/pkg/semigroups/gap/elements/star.gi +21 -0
- gap/pkg/semigroups/gap/elements/trans.gd +13 -0
- gap/pkg/semigroups/gap/elements/trans.gi +50 -0
- gap/pkg/semigroups/gap/fp/freeband.gd +22 -0
- gap/pkg/semigroups/gap/fp/freeband.gi +502 -0
- gap/pkg/semigroups/gap/fp/freeinverse.gd +30 -0
- gap/pkg/semigroups/gap/fp/freeinverse.gi +465 -0
- gap/pkg/semigroups/gap/fp/tietze.gd +89 -0
- gap/pkg/semigroups/gap/fp/tietze.gi +1578 -0
- gap/pkg/semigroups/gap/fp/word.gd +15 -0
- gap/pkg/semigroups/gap/fp/word.gi +67 -0
- gap/pkg/semigroups/gap/greens/acting-inverse.gi +774 -0
- gap/pkg/semigroups/gap/greens/acting-regular.gi +553 -0
- gap/pkg/semigroups/gap/greens/acting.gd +81 -0
- gap/pkg/semigroups/gap/greens/acting.gi +2433 -0
- gap/pkg/semigroups/gap/greens/froidure-pin.gd +25 -0
- gap/pkg/semigroups/gap/greens/froidure-pin.gi +741 -0
- gap/pkg/semigroups/gap/greens/generic.gd +117 -0
- gap/pkg/semigroups/gap/greens/generic.gi +630 -0
- gap/pkg/semigroups/gap/ideals/acting.gd +17 -0
- gap/pkg/semigroups/gap/ideals/acting.gi +1155 -0
- gap/pkg/semigroups/gap/ideals/froidure-pin.gd +11 -0
- gap/pkg/semigroups/gap/ideals/froidure-pin.gi +105 -0
- gap/pkg/semigroups/gap/ideals/ideals.gd +45 -0
- gap/pkg/semigroups/gap/ideals/ideals.gi +442 -0
- gap/pkg/semigroups/gap/ideals/lambda-rho.gd +16 -0
- gap/pkg/semigroups/gap/ideals/lambda-rho.gi +614 -0
- gap/pkg/semigroups/gap/libsemigroups/cong.gd +24 -0
- gap/pkg/semigroups/gap/libsemigroups/cong.gi +431 -0
- gap/pkg/semigroups/gap/libsemigroups/fpsemi.gd +16 -0
- gap/pkg/semigroups/gap/libsemigroups/fpsemi.gi +53 -0
- gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gd +17 -0
- gap/pkg/semigroups/gap/libsemigroups/froidure-pin.gi +945 -0
- gap/pkg/semigroups/gap/libsemigroups/sims1.gd +38 -0
- gap/pkg/semigroups/gap/libsemigroups/sims1.gi +308 -0
- gap/pkg/semigroups/gap/main/acting.gd +36 -0
- gap/pkg/semigroups/gap/main/acting.gi +779 -0
- gap/pkg/semigroups/gap/main/froidure-pin.gd +72 -0
- gap/pkg/semigroups/gap/main/froidure-pin.gi +655 -0
- gap/pkg/semigroups/gap/main/graded.gd +26 -0
- gap/pkg/semigroups/gap/main/graded.gi +355 -0
- gap/pkg/semigroups/gap/main/lambda-rho.gd +29 -0
- gap/pkg/semigroups/gap/main/lambda-rho.gi +514 -0
- gap/pkg/semigroups/gap/main/orbits.gd +24 -0
- gap/pkg/semigroups/gap/main/orbits.gi +512 -0
- gap/pkg/semigroups/gap/main/semiact.gd +20 -0
- gap/pkg/semigroups/gap/main/semiact.gi +821 -0
- gap/pkg/semigroups/gap/main/setup.gd +61 -0
- gap/pkg/semigroups/gap/main/setup.gi +1094 -0
- gap/pkg/semigroups/gap/obsolete.gd +9 -0
- gap/pkg/semigroups/gap/obsolete.gi +14 -0
- gap/pkg/semigroups/gap/options.g +55 -0
- gap/pkg/semigroups/gap/semigroups/grpperm.gd +12 -0
- gap/pkg/semigroups/gap/semigroups/grpperm.gi +177 -0
- gap/pkg/semigroups/gap/semigroups/semibipart.gd +28 -0
- gap/pkg/semigroups/gap/semigroups/semibipart.gi +570 -0
- gap/pkg/semigroups/gap/semigroups/semiboolmat.gd +20 -0
- gap/pkg/semigroups/gap/semigroups/semiboolmat.gi +104 -0
- gap/pkg/semigroups/gap/semigroups/semicons.gd +52 -0
- gap/pkg/semigroups/gap/semigroups/semicons.gi +1194 -0
- gap/pkg/semigroups/gap/semigroups/semidp.gd +13 -0
- gap/pkg/semigroups/gap/semigroups/semidp.gi +509 -0
- gap/pkg/semigroups/gap/semigroups/semieunit.gd +126 -0
- gap/pkg/semigroups/gap/semigroups/semieunit.gi +889 -0
- gap/pkg/semigroups/gap/semigroups/semiex.gd +104 -0
- gap/pkg/semigroups/gap/semigroups/semiex.gi +1590 -0
- gap/pkg/semigroups/gap/semigroups/semiffmat.gd +37 -0
- gap/pkg/semigroups/gap/semigroups/semiffmat.gi +565 -0
- gap/pkg/semigroups/gap/semigroups/semifp.gd +28 -0
- gap/pkg/semigroups/gap/semigroups/semifp.gi +1364 -0
- gap/pkg/semigroups/gap/semigroups/semigraph.gd +40 -0
- gap/pkg/semigroups/gap/semigroups/semigraph.gi +292 -0
- gap/pkg/semigroups/gap/semigroups/semigrp.gd +165 -0
- gap/pkg/semigroups/gap/semigroups/semigrp.gi +1225 -0
- gap/pkg/semigroups/gap/semigroups/semimaxplus.gd +72 -0
- gap/pkg/semigroups/gap/semigroups/semimaxplus.gi +710 -0
- gap/pkg/semigroups/gap/semigroups/semintmat.gd +13 -0
- gap/pkg/semigroups/gap/semigroups/semintmat.gi +74 -0
- gap/pkg/semigroups/gap/semigroups/semipbr.gd +19 -0
- gap/pkg/semigroups/gap/semigroups/semipbr.gi +139 -0
- gap/pkg/semigroups/gap/semigroups/semipperm.gd +27 -0
- gap/pkg/semigroups/gap/semigroups/semipperm.gi +711 -0
- gap/pkg/semigroups/gap/semigroups/semiquo.gd +14 -0
- gap/pkg/semigroups/gap/semigroups/semiquo.gi +97 -0
- gap/pkg/semigroups/gap/semigroups/semiringmat.gd +16 -0
- gap/pkg/semigroups/gap/semigroups/semiringmat.gi +21 -0
- gap/pkg/semigroups/gap/semigroups/semirms.gd +19 -0
- gap/pkg/semigroups/gap/semigroups/semirms.gi +977 -0
- gap/pkg/semigroups/gap/semigroups/semitrans.gd +49 -0
- gap/pkg/semigroups/gap/semigroups/semitrans.gi +909 -0
- gap/pkg/semigroups/gap/tools/display.gd +24 -0
- gap/pkg/semigroups/gap/tools/display.gi +749 -0
- gap/pkg/semigroups/gap/tools/io.gd +17 -0
- gap/pkg/semigroups/gap/tools/io.gi +543 -0
- gap/pkg/semigroups/gap/tools/iterators.gd +16 -0
- gap/pkg/semigroups/gap/tools/iterators.gi +253 -0
- gap/pkg/semigroups/gap/tools/utils.gd +19 -0
- gap/pkg/semigroups/gap/tools/utils.gi +756 -0
- gap/pkg/semigroups/gapbind14/.ccls +18 -0
- gap/pkg/semigroups/gapbind14/.clang-format +104 -0
- gap/pkg/semigroups/gapbind14/CPPLINT.cfg +5 -0
- gap/pkg/semigroups/gapbind14/LICENSE +674 -0
- gap/pkg/semigroups/gapbind14/README.md +76 -0
- gap/pkg/semigroups/gapbind14/demo/.gitignore +4 -0
- gap/pkg/semigroups/gapbind14/demo/LICENSE +293 -0
- gap/pkg/semigroups/gapbind14/demo/Makefile.gappkg +220 -0
- gap/pkg/semigroups/gapbind14/demo/Makefile.in +19 -0
- gap/pkg/semigroups/gapbind14/demo/PackageInfo.g +87 -0
- gap/pkg/semigroups/gapbind14/demo/README.md +17 -0
- gap/pkg/semigroups/gapbind14/demo/configure +34 -0
- gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gd +19 -0
- gap/pkg/semigroups/gapbind14/demo/gap/gapbind_demo.gi +10 -0
- gap/pkg/semigroups/gapbind14/demo/init.g +16 -0
- gap/pkg/semigroups/gapbind14/demo/makedoc.g +10 -0
- gap/pkg/semigroups/gapbind14/demo/read.g +6 -0
- gap/pkg/semigroups/gapbind14/demo/src/gapbind_demo.cc +142 -0
- gap/pkg/semigroups/gapbind14/demo/tst/testall.g +12 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/cpp_fn.hpp +223 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/gap_include.hpp +26 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp +445 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/tame_free_fn.hpp +420 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/tame_mem_fn.hpp +556 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/to_cpp.hpp +162 -0
- gap/pkg/semigroups/gapbind14/include/gapbind14/to_gap.hpp +158 -0
- gap/pkg/semigroups/gapbind14/src/.clang-format +108 -0
- gap/pkg/semigroups/gapbind14/src/gapbind14.cpp +334 -0
- gap/pkg/semigroups/init.g +150 -0
- gap/pkg/semigroups/m4/ax_append_flag.m4 +50 -0
- gap/pkg/semigroups/m4/ax_check_compile_flag.m4 +53 -0
- gap/pkg/semigroups/m4/ax_check_hpcombi.m4 +121 -0
- gap/pkg/semigroups/m4/ax_check_libsemigroup.m4 +68 -0
- gap/pkg/semigroups/m4/ax_compare_version.m4 +177 -0
- gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx.m4 +1009 -0
- gap/pkg/semigroups/m4/ax_cxx_compile_stdcxx_14.m4 +34 -0
- gap/pkg/semigroups/m4/ax_prefix_config_h.m4 +203 -0
- gap/pkg/semigroups/m4/ax_pthread.m4 +522 -0
- gap/pkg/semigroups/m4/find_gap.m4 +94 -0
- gap/pkg/semigroups/makedoc.g +153 -0
- gap/pkg/semigroups/prerequisites.sh +62 -0
- gap/pkg/semigroups/read.g +105 -0
- gap/pkg/semigroups/release.toml +6 -0
- gap/pkg/semigroups/tst/extreme/README +2 -0
- gap/pkg/semigroups/tst/extreme/attrinv.tst +703 -0
- gap/pkg/semigroups/tst/extreme/bipart.tst +2803 -0
- gap/pkg/semigroups/tst/extreme/closure.tst +652 -0
- gap/pkg/semigroups/tst/extreme/cong.tst +286 -0
- gap/pkg/semigroups/tst/extreme/conginv.tst +43 -0
- gap/pkg/semigroups/tst/extreme/examples.tst +2449 -0
- gap/pkg/semigroups/tst/extreme/freeband.tst +37 -0
- gap/pkg/semigroups/tst/extreme/greens-acting-regular.tst +27 -0
- gap/pkg/semigroups/tst/extreme/greens-acting.tst +1999 -0
- gap/pkg/semigroups/tst/extreme/ideals.tst +858 -0
- gap/pkg/semigroups/tst/extreme/inverse.tst +1025 -0
- gap/pkg/semigroups/tst/extreme/maximal.tst +856 -0
- gap/pkg/semigroups/tst/extreme/misc.tst +4236 -0
- gap/pkg/semigroups/tst/extreme/monoid_pkg.tst +1488 -0
- gap/pkg/semigroups/tst/extreme/properties.tst +914 -0
- gap/pkg/semigroups/tst/extreme/semibipart.tst +2837 -0
- gap/pkg/semigroups/tst/extreme/semieunit.tst +49 -0
- gap/pkg/semigroups/tst/extreme/semiffmat.tst +353 -0
- gap/pkg/semigroups/tst/extreme/semigroups.tst +245 -0
- gap/pkg/semigroups/tst/extreme/semiiter.tst +58 -0
- gap/pkg/semigroups/tst/extreme/semirms.tst +1091 -0
- gap/pkg/semigroups/tst/extreme/transform.tst +305 -0
- gap/pkg/semigroups/tst/extreme/translat.tst +44 -0
- gap/pkg/semigroups/tst/standard/README +2 -0
- gap/pkg/semigroups/tst/standard/attributes/acting.tst +388 -0
- gap/pkg/semigroups/tst/standard/attributes/attr.tst +2404 -0
- gap/pkg/semigroups/tst/standard/attributes/dual.tst +308 -0
- gap/pkg/semigroups/tst/standard/attributes/factor.tst +629 -0
- gap/pkg/semigroups/tst/standard/attributes/homomorph.tst +1134 -0
- gap/pkg/semigroups/tst/standard/attributes/inverse.tst +1521 -0
- gap/pkg/semigroups/tst/standard/attributes/isomorph.tst +435 -0
- gap/pkg/semigroups/tst/standard/attributes/isorms.tst +1147 -0
- gap/pkg/semigroups/tst/standard/attributes/maximal.tst +853 -0
- gap/pkg/semigroups/tst/standard/attributes/properties.tst +2028 -0
- gap/pkg/semigroups/tst/standard/attributes/semifp.tst +53 -0
- gap/pkg/semigroups/tst/standard/attributes/translat.tst +796 -0
- gap/pkg/semigroups/tst/standard/congruences/cong.tst +1044 -0
- gap/pkg/semigroups/tst/standard/congruences/conginv.tst +292 -0
- gap/pkg/semigroups/tst/standard/congruences/conglatt.tst +421 -0
- gap/pkg/semigroups/tst/standard/congruences/congpairs.tst +1011 -0
- gap/pkg/semigroups/tst/standard/congruences/congrees.tst +288 -0
- gap/pkg/semigroups/tst/standard/congruences/congrms.tst +701 -0
- gap/pkg/semigroups/tst/standard/congruences/congsemigraph.tst +422 -0
- gap/pkg/semigroups/tst/standard/congruences/congsimple.tst +311 -0
- gap/pkg/semigroups/tst/standard/congruences/conguniv.tst +259 -0
- gap/pkg/semigroups/tst/standard/congruences/congwordgraph.tst +330 -0
- gap/pkg/semigroups/tst/standard/elements/bipart.tst +783 -0
- gap/pkg/semigroups/tst/standard/elements/blocks.tst +166 -0
- gap/pkg/semigroups/tst/standard/elements/boolmat.tst +608 -0
- gap/pkg/semigroups/tst/standard/elements/elements.tst +117 -0
- gap/pkg/semigroups/tst/standard/elements/ffmat.tst +349 -0
- gap/pkg/semigroups/tst/standard/elements/maxplusmat.tst +613 -0
- gap/pkg/semigroups/tst/standard/elements/pbr.tst +506 -0
- gap/pkg/semigroups/tst/standard/elements/pperm.tst +32 -0
- gap/pkg/semigroups/tst/standard/elements/semiringmat.tst +601 -0
- gap/pkg/semigroups/tst/standard/elements/trans.tst +58 -0
- gap/pkg/semigroups/tst/standard/fp/freeband.tst +311 -0
- gap/pkg/semigroups/tst/standard/fp/freeinverse.tst +147 -0
- gap/pkg/semigroups/tst/standard/fp/tietze.tst +780 -0
- gap/pkg/semigroups/tst/standard/fp/word.tst +106 -0
- gap/pkg/semigroups/tst/standard/greens/acting-inverse.tst +545 -0
- gap/pkg/semigroups/tst/standard/greens/acting-regular.tst +396 -0
- gap/pkg/semigroups/tst/standard/greens/acting.tst +2033 -0
- gap/pkg/semigroups/tst/standard/greens/froidure-pin.tst +1831 -0
- gap/pkg/semigroups/tst/standard/greens/generic.tst +1436 -0
- gap/pkg/semigroups/tst/standard/ideals/acting.tst +279 -0
- gap/pkg/semigroups/tst/standard/ideals/froidure-pin.tst +178 -0
- gap/pkg/semigroups/tst/standard/ideals/ideals.tst +380 -0
- gap/pkg/semigroups/tst/standard/libsemigroups/cong.tst +310 -0
- gap/pkg/semigroups/tst/standard/libsemigroups/froidure-pin.tst +778 -0
- gap/pkg/semigroups/tst/standard/libsemigroups/sims1.tst +379 -0
- gap/pkg/semigroups/tst/standard/main/acting.tst +411 -0
- gap/pkg/semigroups/tst/standard/main/froidure-pin.tst +392 -0
- gap/pkg/semigroups/tst/standard/main/semiact.tst +203 -0
- gap/pkg/semigroups/tst/standard/main/setup.tst +1144 -0
- gap/pkg/semigroups/tst/standard/obsolete.tst +19 -0
- gap/pkg/semigroups/tst/standard/options.tst +54 -0
- gap/pkg/semigroups/tst/standard/semigroups/grpperm.tst +581 -0
- gap/pkg/semigroups/tst/standard/semigroups/semibipart.tst +2635 -0
- gap/pkg/semigroups/tst/standard/semigroups/semiboolmat.tst +1871 -0
- gap/pkg/semigroups/tst/standard/semigroups/semicons.tst +1173 -0
- gap/pkg/semigroups/tst/standard/semigroups/semidp.tst +739 -0
- gap/pkg/semigroups/tst/standard/semigroups/semieunit.tst +339 -0
- gap/pkg/semigroups/tst/standard/semigroups/semiex.tst +2055 -0
- gap/pkg/semigroups/tst/standard/semigroups/semiffmat.tst +746 -0
- gap/pkg/semigroups/tst/standard/semigroups/semifp.tst +2702 -0
- gap/pkg/semigroups/tst/standard/semigroups/semigraph.tst +133 -0
- gap/pkg/semigroups/tst/standard/semigroups/semigrp.tst +1112 -0
- gap/pkg/semigroups/tst/standard/semigroups/semimaxplus.tst +654 -0
- gap/pkg/semigroups/tst/standard/semigroups/semipbr.tst +2142 -0
- gap/pkg/semigroups/tst/standard/semigroups/semipperm.tst +2169 -0
- gap/pkg/semigroups/tst/standard/semigroups/semiquo.tst +278 -0
- gap/pkg/semigroups/tst/standard/semigroups/semirms.tst +3010 -0
- gap/pkg/semigroups/tst/standard/semigroups/semitrans.tst +2758 -0
- gap/pkg/semigroups/tst/standard/tools/display.tst +1040 -0
- gap/pkg/semigroups/tst/standard/tools/io.tst +363 -0
- gap/pkg/semigroups/tst/testinstall.tst +1815 -0
- gap/pkg/semigroups/tst/teststandard.g +22 -0
- gap/pkg/semigroups/tst/workspaces/load-workspace.tst +142 -0
- gap/pkg/semigroups/tst/workspaces/load.g +11 -0
- gap/pkg/semigroups/tst/workspaces/save-workspace.tst +166 -0
- gap/pkg/semigroups/tst/workspaces/save.g +14 -0
- passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA +93 -0
- passagemath_gap_pkg_semigroups-10.6.30.dist-info/METADATA.bak +94 -0
- passagemath_gap_pkg_semigroups-10.6.30.dist-info/RECORD +354 -0
- passagemath_gap_pkg_semigroups-10.6.30.dist-info/WHEEL +6 -0
- passagemath_gap_pkg_semigroups-10.6.30.dist-info/top_level.txt +1 -0
- passagemath_gap_pkg_semigroups.dylibs/libsemigroups.2.dylib +0 -0
- sage/all__sagemath_gap_pkg_semigroups.py +1 -0
- sage/libs/all__sagemath_gap_pkg_semigroups.py +1 -0
- sage/libs/gap_pkg_semigroups.cpython-310-darwin.so +0 -0
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
//
|
|
2
|
+
// gapbind14
|
|
3
|
+
// Copyright (C) 2020-2022 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 <https://www.gnu.org/licenses/>.
|
|
17
|
+
//
|
|
18
|
+
|
|
19
|
+
#ifndef INCLUDE_GAPBIND14_TAME_FREE_FN_HPP_
|
|
20
|
+
#define INCLUDE_GAPBIND14_TAME_FREE_FN_HPP_
|
|
21
|
+
|
|
22
|
+
#include <algorithm> // for reverse
|
|
23
|
+
#include <cstddef> // for size_t
|
|
24
|
+
#include <type_traits> // for enable_if_t
|
|
25
|
+
#include <vector> // for vector
|
|
26
|
+
|
|
27
|
+
#include "cpp_fn.hpp" // for CppFunction, GAPBIND14_TRY etc
|
|
28
|
+
#include "gap_include.hpp" // for Obj
|
|
29
|
+
#include "to_cpp.hpp" // for to_cpp
|
|
30
|
+
#include "to_gap.hpp" // for to_gap
|
|
31
|
+
|
|
32
|
+
namespace gapbind14 {
|
|
33
|
+
namespace detail {
|
|
34
|
+
|
|
35
|
+
////////////////////////////////////////////////////////////////////////
|
|
36
|
+
// Wilds
|
|
37
|
+
////////////////////////////////////////////////////////////////////////
|
|
38
|
+
|
|
39
|
+
template <typename Wild>
|
|
40
|
+
auto& all_wilds() {
|
|
41
|
+
static std::vector<Wild> fs;
|
|
42
|
+
return fs;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
template <typename Wild>
|
|
46
|
+
auto wild(size_t i) {
|
|
47
|
+
return all_wilds<Wild>().at(i);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
////////////////////////////////////////////////////////////////////////
|
|
51
|
+
// Tame functions returning void
|
|
52
|
+
////////////////////////////////////////////////////////////////////////
|
|
53
|
+
|
|
54
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
55
|
+
auto tame(Obj self) -> std::enable_if_t<returns_void<Wild>::value
|
|
56
|
+
&& arg_count<Wild>::value == 0,
|
|
57
|
+
TSFINAE> {
|
|
58
|
+
GAPBIND14_TRY(wild<Wild>(N)());
|
|
59
|
+
return 0L;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
63
|
+
auto tame(Obj self, Obj arg0)
|
|
64
|
+
-> std::enable_if_t<returns_void<Wild>::value
|
|
65
|
+
&& arg_count<Wild>::value == 1,
|
|
66
|
+
TSFINAE> {
|
|
67
|
+
using to_cpp_0_type =
|
|
68
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
69
|
+
GAPBIND14_TRY(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0)));
|
|
70
|
+
return 0L;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
74
|
+
auto tame(Obj self, Obj arg0, Obj arg1)
|
|
75
|
+
-> std::enable_if_t<returns_void<Wild>::value
|
|
76
|
+
&& arg_count<Wild>::value == 2,
|
|
77
|
+
TSFINAE> {
|
|
78
|
+
using to_cpp_0_type =
|
|
79
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
80
|
+
using to_cpp_1_type =
|
|
81
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
82
|
+
GAPBIND14_TRY(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
83
|
+
to_cpp<to_cpp_1_type>()(arg1)));
|
|
84
|
+
return 0L;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
88
|
+
auto tame(Obj self, Obj arg0, Obj arg1, Obj arg2)
|
|
89
|
+
-> std::enable_if_t<returns_void<Wild>::value
|
|
90
|
+
&& arg_count<Wild>::value == 3,
|
|
91
|
+
TSFINAE> {
|
|
92
|
+
using to_cpp_0_type =
|
|
93
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
94
|
+
using to_cpp_1_type =
|
|
95
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
96
|
+
using to_cpp_2_type =
|
|
97
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
98
|
+
GAPBIND14_TRY(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
99
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
100
|
+
to_cpp<to_cpp_2_type>()(arg2)));
|
|
101
|
+
return 0L;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
105
|
+
auto tame(Obj self, Obj arg0, Obj arg1, Obj arg2, Obj arg3)
|
|
106
|
+
-> std::enable_if_t<returns_void<Wild>::value
|
|
107
|
+
&& arg_count<Wild>::value == 4,
|
|
108
|
+
TSFINAE> {
|
|
109
|
+
using to_cpp_0_type =
|
|
110
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
111
|
+
using to_cpp_1_type =
|
|
112
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
113
|
+
using to_cpp_2_type =
|
|
114
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
115
|
+
using to_cpp_3_type =
|
|
116
|
+
typename CppFunction<Wild>::params_type::template get<3>;
|
|
117
|
+
GAPBIND14_TRY(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
118
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
119
|
+
to_cpp<to_cpp_2_type>()(arg2),
|
|
120
|
+
to_cpp<to_cpp_3_type>()(arg3)));
|
|
121
|
+
return 0L;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
125
|
+
auto tame(Obj self, Obj arg0, Obj arg1, Obj arg2, Obj arg3, Obj arg4)
|
|
126
|
+
-> std::enable_if_t<returns_void<Wild>::value
|
|
127
|
+
&& arg_count<Wild>::value == 5,
|
|
128
|
+
TSFINAE> {
|
|
129
|
+
using to_cpp_0_type =
|
|
130
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
131
|
+
using to_cpp_1_type =
|
|
132
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
133
|
+
using to_cpp_2_type =
|
|
134
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
135
|
+
using to_cpp_3_type =
|
|
136
|
+
typename CppFunction<Wild>::params_type::template get<3>;
|
|
137
|
+
using to_cpp_4_type =
|
|
138
|
+
typename CppFunction<Wild>::params_type::template get<4>;
|
|
139
|
+
GAPBIND14_TRY(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
140
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
141
|
+
to_cpp<to_cpp_2_type>()(arg2),
|
|
142
|
+
to_cpp<to_cpp_3_type>()(arg3),
|
|
143
|
+
to_cpp<to_cpp_4_type>()(arg4)));
|
|
144
|
+
return 0L;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
148
|
+
auto
|
|
149
|
+
tame(Obj self, Obj arg0, Obj arg1, Obj arg2, Obj arg3, Obj arg4, Obj arg5)
|
|
150
|
+
-> std::enable_if_t<returns_void<Wild>::value
|
|
151
|
+
&& arg_count<Wild>::value == 6,
|
|
152
|
+
TSFINAE> {
|
|
153
|
+
using to_cpp_0_type =
|
|
154
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
155
|
+
using to_cpp_1_type =
|
|
156
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
157
|
+
using to_cpp_2_type =
|
|
158
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
159
|
+
using to_cpp_3_type =
|
|
160
|
+
typename CppFunction<Wild>::params_type::template get<3>;
|
|
161
|
+
using to_cpp_4_type =
|
|
162
|
+
typename CppFunction<Wild>::params_type::template get<4>;
|
|
163
|
+
using to_cpp_5_type =
|
|
164
|
+
typename CppFunction<Wild>::params_type::template get<5>;
|
|
165
|
+
GAPBIND14_TRY(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
166
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
167
|
+
to_cpp<to_cpp_2_type>()(arg2),
|
|
168
|
+
to_cpp<to_cpp_3_type>()(arg3),
|
|
169
|
+
to_cpp<to_cpp_4_type>()(arg4),
|
|
170
|
+
to_cpp<to_cpp_5_type>()(arg5)));
|
|
171
|
+
return 0L;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
175
|
+
auto tame(Obj self,
|
|
176
|
+
Obj arg0,
|
|
177
|
+
Obj arg1,
|
|
178
|
+
Obj arg2,
|
|
179
|
+
Obj arg3,
|
|
180
|
+
Obj arg4,
|
|
181
|
+
Obj arg5,
|
|
182
|
+
Obj arg6) -> std::enable_if_t<returns_void<Wild>::value
|
|
183
|
+
&& arg_count<Wild>::value == 7,
|
|
184
|
+
TSFINAE> {
|
|
185
|
+
using to_cpp_0_type =
|
|
186
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
187
|
+
using to_cpp_1_type =
|
|
188
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
189
|
+
using to_cpp_2_type =
|
|
190
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
191
|
+
using to_cpp_3_type =
|
|
192
|
+
typename CppFunction<Wild>::params_type::template get<3>;
|
|
193
|
+
using to_cpp_4_type =
|
|
194
|
+
typename CppFunction<Wild>::params_type::template get<4>;
|
|
195
|
+
using to_cpp_5_type =
|
|
196
|
+
typename CppFunction<Wild>::params_type::template get<5>;
|
|
197
|
+
using to_cpp_6_type =
|
|
198
|
+
typename CppFunction<Wild>::params_type::template get<6>;
|
|
199
|
+
GAPBIND14_TRY(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
200
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
201
|
+
to_cpp<to_cpp_2_type>()(arg2),
|
|
202
|
+
to_cpp<to_cpp_3_type>()(arg3),
|
|
203
|
+
to_cpp<to_cpp_4_type>()(arg4),
|
|
204
|
+
to_cpp<to_cpp_5_type>()(arg5),
|
|
205
|
+
to_cpp<to_cpp_6_type>()(arg6)));
|
|
206
|
+
return 0L;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
////////////////////////////////////////////////////////////////////////
|
|
210
|
+
// Tame functions NOT returning void
|
|
211
|
+
////////////////////////////////////////////////////////////////////////
|
|
212
|
+
|
|
213
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
214
|
+
auto tame(Obj self) -> std::enable_if_t<!returns_void<Wild>::value
|
|
215
|
+
&& arg_count<Wild>::value == 0,
|
|
216
|
+
TSFINAE> {
|
|
217
|
+
using to_gap_type
|
|
218
|
+
= gapbind14::to_gap<typename CppFunction<Wild>::return_type>;
|
|
219
|
+
GAPBIND14_TRY(return to_gap_type()(wild<Wild>(N)()));
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
223
|
+
auto tame(Obj self, Obj arg0)
|
|
224
|
+
-> std::enable_if_t<!returns_void<Wild>::value
|
|
225
|
+
&& arg_count<Wild>::value == 1,
|
|
226
|
+
TSFINAE> {
|
|
227
|
+
using to_cpp_0_type =
|
|
228
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
229
|
+
using to_gap_type
|
|
230
|
+
= gapbind14::to_gap<typename CppFunction<Wild>::return_type>;
|
|
231
|
+
GAPBIND14_TRY(
|
|
232
|
+
return to_gap_type()(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0))));
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
236
|
+
auto tame(Obj self, Obj arg0, Obj arg1)
|
|
237
|
+
-> std::enable_if_t<!returns_void<Wild>::value
|
|
238
|
+
&& arg_count<Wild>::value == 2,
|
|
239
|
+
TSFINAE> {
|
|
240
|
+
using to_cpp_0_type =
|
|
241
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
242
|
+
using to_cpp_1_type =
|
|
243
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
244
|
+
using to_gap_type
|
|
245
|
+
= gapbind14::to_gap<typename CppFunction<Wild>::return_type>;
|
|
246
|
+
GAPBIND14_TRY(return to_gap_type()(wild<Wild>(N)(
|
|
247
|
+
to_cpp<to_cpp_0_type>()(arg0), to_cpp<to_cpp_1_type>()(arg1))));
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
251
|
+
auto tame(Obj self, Obj arg0, Obj arg1, Obj arg2)
|
|
252
|
+
-> std::enable_if_t<!returns_void<Wild>::value
|
|
253
|
+
&& arg_count<Wild>::value == 3,
|
|
254
|
+
TSFINAE> {
|
|
255
|
+
using to_cpp_0_type =
|
|
256
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
257
|
+
using to_cpp_1_type =
|
|
258
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
259
|
+
using to_cpp_2_type =
|
|
260
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
261
|
+
using to_gap_type
|
|
262
|
+
= gapbind14::to_gap<typename CppFunction<Wild>::return_type>;
|
|
263
|
+
GAPBIND14_TRY(
|
|
264
|
+
return to_gap_type()(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
265
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
266
|
+
to_cpp<to_cpp_2_type>()(arg2))));
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
270
|
+
auto tame(Obj self, Obj arg0, Obj arg1, Obj arg2, Obj arg3)
|
|
271
|
+
-> std::enable_if_t<!returns_void<Wild>::value
|
|
272
|
+
&& arg_count<Wild>::value == 4,
|
|
273
|
+
TSFINAE> {
|
|
274
|
+
using to_cpp_0_type =
|
|
275
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
276
|
+
using to_cpp_1_type =
|
|
277
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
278
|
+
using to_cpp_2_type =
|
|
279
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
280
|
+
using to_cpp_3_type =
|
|
281
|
+
typename CppFunction<Wild>::params_type::template get<3>;
|
|
282
|
+
using to_gap_type
|
|
283
|
+
= gapbind14::to_gap<typename CppFunction<Wild>::return_type>;
|
|
284
|
+
GAPBIND14_TRY(
|
|
285
|
+
return to_gap_type()(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
286
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
287
|
+
to_cpp<to_cpp_2_type>()(arg2),
|
|
288
|
+
to_cpp<to_cpp_3_type>()(arg3))));
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
292
|
+
auto tame(Obj self, Obj arg0, Obj arg1, Obj arg2, Obj arg3, Obj arg4)
|
|
293
|
+
-> std::enable_if_t<!returns_void<Wild>::value
|
|
294
|
+
&& arg_count<Wild>::value == 5,
|
|
295
|
+
TSFINAE> {
|
|
296
|
+
using to_cpp_0_type =
|
|
297
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
298
|
+
using to_cpp_1_type =
|
|
299
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
300
|
+
using to_cpp_2_type =
|
|
301
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
302
|
+
using to_cpp_3_type =
|
|
303
|
+
typename CppFunction<Wild>::params_type::template get<3>;
|
|
304
|
+
using to_cpp_4_type =
|
|
305
|
+
typename CppFunction<Wild>::params_type::template get<4>;
|
|
306
|
+
using to_gap_type
|
|
307
|
+
= gapbind14::to_gap<typename CppFunction<Wild>::return_type>;
|
|
308
|
+
GAPBIND14_TRY(
|
|
309
|
+
return to_gap_type()(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
310
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
311
|
+
to_cpp<to_cpp_2_type>()(arg2),
|
|
312
|
+
to_cpp<to_cpp_3_type>()(arg3),
|
|
313
|
+
to_cpp<to_cpp_4_type>()(arg4))));
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
317
|
+
auto
|
|
318
|
+
tame(Obj self, Obj arg0, Obj arg1, Obj arg2, Obj arg3, Obj arg4, Obj arg5)
|
|
319
|
+
-> std::enable_if_t<!returns_void<Wild>::value
|
|
320
|
+
&& arg_count<Wild>::value == 6,
|
|
321
|
+
TSFINAE> {
|
|
322
|
+
using to_cpp_0_type =
|
|
323
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
324
|
+
using to_cpp_1_type =
|
|
325
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
326
|
+
using to_cpp_2_type =
|
|
327
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
328
|
+
using to_cpp_3_type =
|
|
329
|
+
typename CppFunction<Wild>::params_type::template get<3>;
|
|
330
|
+
using to_cpp_4_type =
|
|
331
|
+
typename CppFunction<Wild>::params_type::template get<4>;
|
|
332
|
+
using to_cpp_5_type =
|
|
333
|
+
typename CppFunction<Wild>::params_type::template get<5>;
|
|
334
|
+
using to_gap_type
|
|
335
|
+
= gapbind14::to_gap<typename CppFunction<Wild>::return_type>;
|
|
336
|
+
GAPBIND14_TRY(
|
|
337
|
+
return to_gap_type()(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
338
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
339
|
+
to_cpp<to_cpp_2_type>()(arg2),
|
|
340
|
+
to_cpp<to_cpp_3_type>()(arg3),
|
|
341
|
+
to_cpp<to_cpp_4_type>()(arg4),
|
|
342
|
+
to_cpp<to_cpp_5_type>()(arg5))));
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
template <size_t N, typename Wild, typename TSFINAE = Obj>
|
|
346
|
+
auto tame(Obj self,
|
|
347
|
+
Obj arg0,
|
|
348
|
+
Obj arg1,
|
|
349
|
+
Obj arg2,
|
|
350
|
+
Obj arg3,
|
|
351
|
+
Obj arg4,
|
|
352
|
+
Obj arg5,
|
|
353
|
+
Obj arg6) -> std::enable_if_t<!returns_void<Wild>::value
|
|
354
|
+
&& arg_count<Wild>::value == 7,
|
|
355
|
+
TSFINAE> {
|
|
356
|
+
using to_cpp_0_type =
|
|
357
|
+
typename CppFunction<Wild>::params_type::template get<0>;
|
|
358
|
+
using to_cpp_1_type =
|
|
359
|
+
typename CppFunction<Wild>::params_type::template get<1>;
|
|
360
|
+
using to_cpp_2_type =
|
|
361
|
+
typename CppFunction<Wild>::params_type::template get<2>;
|
|
362
|
+
using to_cpp_3_type =
|
|
363
|
+
typename CppFunction<Wild>::params_type::template get<3>;
|
|
364
|
+
using to_cpp_4_type =
|
|
365
|
+
typename CppFunction<Wild>::params_type::template get<4>;
|
|
366
|
+
using to_cpp_5_type =
|
|
367
|
+
typename CppFunction<Wild>::params_type::template get<5>;
|
|
368
|
+
using to_cpp_6_type =
|
|
369
|
+
typename CppFunction<Wild>::params_type::template get<6>;
|
|
370
|
+
using to_gap_type
|
|
371
|
+
= gapbind14::to_gap<typename CppFunction<Wild>::return_type>;
|
|
372
|
+
GAPBIND14_TRY(
|
|
373
|
+
return to_gap_type()(wild<Wild>(N)(to_cpp<to_cpp_0_type>()(arg0),
|
|
374
|
+
to_cpp<to_cpp_1_type>()(arg1),
|
|
375
|
+
to_cpp<to_cpp_2_type>()(arg2),
|
|
376
|
+
to_cpp<to_cpp_3_type>()(arg3),
|
|
377
|
+
to_cpp<to_cpp_4_type>()(arg4),
|
|
378
|
+
to_cpp<to_cpp_5_type>()(arg5),
|
|
379
|
+
to_cpp<to_cpp_6_type>()(arg6))));
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
////////////////////////////////////////////////////////////////////////
|
|
383
|
+
// Create a vector of tame functions
|
|
384
|
+
////////////////////////////////////////////////////////////////////////
|
|
385
|
+
|
|
386
|
+
template <size_t N, typename Tame, typename Wild>
|
|
387
|
+
struct static_push_back {
|
|
388
|
+
void operator()(std::vector<Tame>& v) {
|
|
389
|
+
v.push_back(&tame<N - 1, Wild>);
|
|
390
|
+
static_push_back<N - 1, Tame, Wild>{}(v);
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
template <typename Tame, typename Wild>
|
|
395
|
+
struct static_push_back<0, Tame, Wild> {
|
|
396
|
+
void operator()(std::vector<Tame>& v) {
|
|
397
|
+
std::reverse(v.begin(), v.end());
|
|
398
|
+
}
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
template <typename Tame, typename Wild>
|
|
402
|
+
auto init_tames() {
|
|
403
|
+
std::vector<Tame> fs;
|
|
404
|
+
static_push_back<MAX_FUNCTIONS, Tame, Wild>{}(fs);
|
|
405
|
+
return fs;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
template <typename Tame, typename Wild>
|
|
409
|
+
auto& tames() {
|
|
410
|
+
static std::vector<Tame> fs = init_tames<Tame, Wild>();
|
|
411
|
+
return fs;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
template <typename Tame, typename Wild>
|
|
415
|
+
auto get_tame(size_t i) {
|
|
416
|
+
return tames<Tame, Wild>().at(i);
|
|
417
|
+
}
|
|
418
|
+
} // namespace detail
|
|
419
|
+
} // namespace gapbind14
|
|
420
|
+
#endif // INCLUDE_GAPBIND14_TAME_FREE_FN_HPP_
|