Date: Fri, 1 Jan 2021 06:47:03 +0000 (UTC) From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r559809 - in head/math: . permlib permlib/files Message-ID: <202101010647.1016l3V1068069@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: yuri Date: Fri Jan 1 06:47:02 2021 New Revision: 559809 URL: https://svnweb.freebsd.org/changeset/ports/559809 Log: New port: math/permlib: C++ header-only library for permutation computations Added: head/math/permlib/ head/math/permlib/Makefile (contents, props changed) head/math/permlib/distinfo (contents, props changed) head/math/permlib/files/ head/math/permlib/files/patch-CMakeLists.txt (contents, props changed) head/math/permlib/files/patch-boost-from-arch (contents, props changed) head/math/permlib/pkg-descr (contents, props changed) head/math/permlib/pkg-plist (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Fri Jan 1 06:40:05 2021 (r559808) +++ head/math/Makefile Fri Jan 1 06:47:02 2021 (r559809) @@ -696,6 +696,7 @@ SUBDIR += pear-Math_Combinatorics SUBDIR += pecl-bitset SUBDIR += pecl-stats2 + SUBDIR += permlib SUBDIR += petiga SUBDIR += php73-bcmath SUBDIR += php73-gmp Added: head/math/permlib/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/permlib/Makefile Fri Jan 1 06:47:02 2021 (r559809) @@ -0,0 +1,27 @@ +# $FreeBSD$ + +PORTNAME= permlib +DISTVERSIONPREFIX= v +DISTVERSION= 0.2.9 +CATEGORIES= math + +MAINTAINER= yuri@FreeBSD.org +COMMENT= C++ header-only library for permutation computations + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= boost-libs>0:devel/boost-libs + +USE_GITHUB= yes +GH_ACCOUNT= tremlin +GH_PROJECT= PermLib + +NO_BUILD= yes +NO_ARCH= yes + +do-install: + cd ${WRKSRC} && ${COPYTREE_SHARE} include ${STAGEDIR}${PREFIX} + ${FIND} ${STAGEDIR}${PREFIX}/include -name "*.orig" -delete + +.include <bsd.port.mk> Added: head/math/permlib/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/permlib/distinfo Fri Jan 1 06:47:02 2021 (r559809) @@ -0,0 +1,3 @@ +TIMESTAMP = 1609481998 +SHA256 (tremlin-PermLib-v0.2.9_GH0.tar.gz) = 40b9c03df57d73412d75ee4098937706d95e252b4f40d091cc13633a0c56d20e +SIZE (tremlin-PermLib-v0.2.9_GH0.tar.gz) = 151895 Added: head/math/permlib/files/patch-CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/permlib/files/patch-CMakeLists.txt Fri Jan 1 06:47:02 2021 (r559809) @@ -0,0 +1,16 @@ +--- CMakeLists.txt.orig 2021-01-01 06:23:17 UTC ++++ CMakeLists.txt +@@ -27,7 +27,11 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D + + enable_testing() + +-add_subdirectory(example) +-add_subdirectory(test) ++if (BUILD_EXAMPLES) ++ add_subdirectory(example) ++endif() ++if (BUILD_TESTS) ++ add_subdirectory(test) ++endif() + + exec_program( ${CMAKE_COMMAND} ARGS -E copy_directory ${PROJECT_SOURCE_DIR}/data ${PROJECT_BINARY_DIR}/data ) Added: head/math/permlib/files/patch-boost-from-arch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/permlib/files/patch-boost-from-arch Fri Jan 1 06:47:02 2021 (r559809) @@ -0,0 +1,100 @@ +--- include/permlib/bsgs.h.orig 2016-07-16 17:37:15 UTC ++++ include/permlib/bsgs.h +@@ -39,6 +39,7 @@ + + #include <boost/cstdint.hpp> + #include <boost/foreach.hpp> ++#include <boost/next_prior.hpp> + #include <boost/scoped_ptr.hpp> + #include <boost/shared_ptr.hpp> + #include <boost/utility.hpp> +--- include/permlib/change/base_transpose.h.orig 2016-07-16 17:37:15 UTC ++++ include/permlib/change/base_transpose.h +@@ -38,6 +38,7 @@ + + #include <boost/scoped_ptr.hpp> + #include <boost/iterator/indirect_iterator.hpp> ++#include <boost/next_prior.hpp> + + namespace permlib { + +--- include/permlib/generator/schreier_generator.h.orig 2016-07-16 17:37:15 UTC ++++ include/permlib/generator/schreier_generator.h +@@ -39,6 +39,7 @@ + #include <stack> + #include <boost/scoped_ptr.hpp> + #include <boost/tuple/tuple.hpp> ++#include <boost/next_prior.hpp> + + namespace permlib { + +--- include/permlib/permutation.h.orig 2016-07-16 17:37:15 UTC ++++ include/permlib/permutation.h +@@ -48,7 +48,7 @@ + #include <boost/dynamic_bitset.hpp> + #include <boost/foreach.hpp> + #include <boost/cstdint.hpp> +-#include <boost/math/common_factor_rt.hpp> ++#include <boost/integer/common_factor_rt.hpp> + + namespace permlib { + +@@ -343,7 +343,7 @@ inline boost::uint64_t Permutation::order() const { + std::list<CyclePair> cycleList = this->cycles(); + boost::uint64_t ord = 1; + BOOST_FOREACH(const CyclePair& cyc, cycleList) { +- ord = boost::math::lcm(ord, static_cast<boost::uint64_t>(cyc.second)); ++ ord = boost::integer::lcm(ord, static_cast<boost::uint64_t>(cyc.second)); + } + return ord; + } +--- include/permlib/test/giant_test.h.orig 2016-07-16 17:37:15 UTC ++++ include/permlib/test/giant_test.h +@@ -40,7 +40,7 @@ + #include <permlib/prime_helper.h> + + #include <boost/foreach.hpp> +-#include <boost/math/common_factor_rt.hpp> ++#include <boost/integer/common_factor_rt.hpp> + #include <cmath> + #include <algorithm> + +@@ -195,7 +195,7 @@ GiantTestBase::GiantGroupType GiantTest<PERM>::determi + for (unsigned int k = 0; k < cycleLength.size(); ++k) { + if (j == k) + continue; +- if (boost::math::gcd(cycleLength[j], cycleLength[k]) != 1) { ++ if (boost::integer::gcd(cycleLength[j], cycleLength[k]) != 1) { + isCoprime = false; + break; + } +--- include/permlib/test/primitivity_sgs_test.h.orig 2016-07-16 17:37:15 UTC ++++ include/permlib/test/primitivity_sgs_test.h +@@ -39,6 +39,7 @@ + #include <boost/foreach.hpp> + #include <boost/scoped_ptr.hpp> + #include <boost/utility.hpp> ++#include <boost/next_prior.hpp> + #include <vector> + #include <list> + +--- include/permlib/test/type_recognition.h.orig 2016-07-16 17:37:15 UTC ++++ include/permlib/test/type_recognition.h +@@ -44,7 +44,7 @@ + #include <permlib/permlib_api.h> + + #include <boost/shared_ptr.hpp> +-#include <boost/math/common_factor_rt.hpp> ++#include <boost/integer/common_factor_rt.hpp> + #include <iostream> + + +@@ -344,7 +344,7 @@ GroupType* TypeRecognition<PERM,TRANSVERSAL>::largeSym + + size_t orbitGCD = orbits.front()->size(); + BOOST_FOREACH(const OrbitPtr& orbit, orbits) { +- orbitGCD = boost::math::gcd(orbitGCD, orbit->size()); ++ orbitGCD = boost::integer::gcd(orbitGCD, orbit->size()); + } + + GroupType* lastType = 0; Added: head/math/permlib/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/permlib/pkg-descr Fri Jan 1 06:47:02 2021 (r559809) @@ -0,0 +1,7 @@ +PermLib is a C++ library for permutation computations. Currently it supports set +stabilizer and in-orbit computations, based on bases and strong generating sets +(BSGS). Additionally, it computes automorphisms of symmetric matrices and find +the lexicographically smallest set in an orbit of sets. It also features a very +basic recognition of permutation group types. + +WWW: http://www.math.uni-rostock.de/~rehn/software/permlib.html Added: head/math/permlib/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/permlib/pkg-plist Fri Jan 1 06:47:02 2021 (r559809) @@ -0,0 +1,84 @@ +include/permlib/abstract_bsgs.h +include/permlib/abstract_bsgs_helpers.h +include/permlib/abstract_permutation_group.h +include/permlib/abstract_symmetric_product.h +include/permlib/bsgs.h +include/permlib/bsgs_core.h +include/permlib/change/base_change.h +include/permlib/change/base_transpose.h +include/permlib/change/conjugating_base_change.h +include/permlib/change/deterministic_base_transpose.h +include/permlib/change/new_base_change.h +include/permlib/change/random_base_transpose.h +include/permlib/change/simple_base_change.h +include/permlib/common.h +include/permlib/construct/base_construction.h +include/permlib/construct/cyclic_group_construction.h +include/permlib/construct/known_bsgs_construction.h +include/permlib/construct/random_schreier_sims_construction.h +include/permlib/construct/schreier_sims_construction.h +include/permlib/export/bsgs_schreier_export.h +include/permlib/generator/bsgs_generator.h +include/permlib/generator/bsgs_random_generator.h +include/permlib/generator/generator.h +include/permlib/generator/product_replacement_generator.h +include/permlib/generator/random_generator.h +include/permlib/generator/random_schreier_generator.h +include/permlib/generator/schreier_generator.h +include/permlib/permlib_api.h +include/permlib/permutation.h +include/permlib/permutationword.h +include/permlib/predicate/group_intersection_predicate.h +include/permlib/predicate/identity_predicate.h +include/permlib/predicate/lex_smaller_image_predicate.h +include/permlib/predicate/matrix_automorphism_predicate.h +include/permlib/predicate/pointwise_stabilizer_predicate.h +include/permlib/predicate/set_image_predicate.h +include/permlib/predicate/setwise_stabilizer_predicate.h +include/permlib/predicate/stabilizes_point_predicate.h +include/permlib/predicate/subgroup_predicate.h +include/permlib/predicate/vector_stabilizer_predicate.h +include/permlib/prime_helper.h +include/permlib/redundant_base_point_insertion_strategy.h +include/permlib/search/base_search.h +include/permlib/search/classic/backtrack_search.h +include/permlib/search/classic/intersection_search.h +include/permlib/search/classic/lex_smaller_image_search.h +include/permlib/search/classic/set_image_search.h +include/permlib/search/classic/set_stabilizer_search.h +include/permlib/search/dset.h +include/permlib/search/orbit_lex_min_search.h +include/permlib/search/partition/backtrack_refinement.h +include/permlib/search/partition/group_refinement.h +include/permlib/search/partition/intersection_search.h +include/permlib/search/partition/matrix_automorphism_search.h +include/permlib/search/partition/matrix_refinement1.h +include/permlib/search/partition/matrix_refinement2.h +include/permlib/search/partition/partition.h +include/permlib/search/partition/r_base.h +include/permlib/search/partition/refinement.h +include/permlib/search/partition/refinement_family.h +include/permlib/search/partition/set_image_refinement.h +include/permlib/search/partition/set_image_search.h +include/permlib/search/partition/set_stabilize_refinement.h +include/permlib/search/partition/set_stabilizer_search.h +include/permlib/search/partition/vector_stabilizer_search.h +include/permlib/sorter/base_sorter.h +include/permlib/sorter/group_sorter.h +include/permlib/sorter/trivial_sorter.h +include/permlib/symmetric_group.h +include/permlib/test/giant_test.h +include/permlib/test/group_type.h +include/permlib/test/primitivity_sgs_test.h +include/permlib/test/primitivity_test.h +include/permlib/test/type_recognition.h +include/permlib/test/type_recognition_heuristic.h +include/permlib/transversal/explicit_transversal.h +include/permlib/transversal/orbit.h +include/permlib/transversal/orbit_list.h +include/permlib/transversal/orbit_set.h +include/permlib/transversal/schreier_tree_transversal.h +include/permlib/transversal/shallow_schreier_tree_transversal.h +include/permlib/transversal/symmetric_group_transversal.h +include/permlib/transversal/transversal.h +include/permlib/version.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101010647.1016l3V1068069>