Releases: PermutaTriangle/comb_spec_searcher
Releases · PermutaTriangle/comb_spec_searcher
Version 4.2.0
[4.2.0] 2023-01-18
Changed
- Update dependency on psutil from 5.8 to 5.9.4
- Update dependency on sympy from 1.9 to 1.10.1
- Update dependency on pympler from 0.9 to 1.0.1
- Update dependency on requests from 2.26.0 to 2.28.1
- Update dependency on typing-extensions from 4.0.0 to 4.4.0
- Update dependency on tabulate from 0.8.9 to 0.9.0
- Updated dependencies in the tox file
Version 4.1.1
[4.1.0] 2022-01-17
Added
- Make specification iterable
- Add a
get_comb_class
method to combinatorial specification
Changed
- The
get_terms
now have unique keys for the parameters to save memory. CombinatorialSpecification.expand_verified
will try to find a spec
allowing reverse rules if it fails without.- The labels assigned to nodes will always be in DFS order now.
Fixed
- Fixing bug creating non productive forest when expanding verified classes
- Handled properly when user asks for an random object of a size the class does
not have - Trying to verify the class being expanded when expanding a combinatorial
specification. - Bug in complement constructors inside equivalence path rules.
Version 4.0.0
[4.0.0] - 2021-06-14
Added
- Reverse rule default back to the equation of the original rule in case
NotImplementedError
find_bijection_between
tries to find a bijection between classes given
aCombinatorialSpecificationSearcher
object for both.- Added Forest searching capability to the css. Those are specification that can
you reverse rule that are not equivalences. - Special forward and backward maps, called indexed forward and backward maps.
They are to be used for bijections and their purposes is to support bijections
for non-injective forward maps by labelling the resulting objects or map from
an labelled object. NonBijectiveRule
will implement a labelling system for indexed forward
and backward maps.EqPathParallelSpecFinder
that, on top of the base class, validates any
potential path contained in equivalence labels.PartialSpecificationRuleExtractor
that extracts rules from partially built
specifications and two subclasses with specific applications of that.
Changed
- If a rule in a specification cannot be sanity checked (e.g., counting is not
implemented), a warning is printed and sanity checking continues, instead of returning
the exception. - More responsibility have been delegated to the rule database. This will allow
for more flexibility in the implementation of the rule database. Things like
computing specification rule now happens at the rule db level.
Fixed
- Removed a debug print
- Sharing of a specification html via gofile API.
- Moves local
Constructor.param_map
function outward so that specifications can be
pickled. - Fix bug in complement constructor counting
- Fixing a bug in counting for equivalence rule from a reverse rule
- Fixing in the formal step of reverse equivalence rule. The formal step now
state that the rule is reversed. - Removed bug in equation of
DisjointUnion
that ignores multiple CVs mapping to the
same in a child
Deprecated
- Python 3.6 is no longer supported
LimitedStrategyRuleDB
is not longer part of css
v3.0.0-zenodo
Re-release for Zenodo
[3.0.0] - 2021-01-04
Added
- Automatic bijection between equivalent specifications through the functions
get_bijection_to
andare_isomorphic
of the specifications class. The bijection object holds amap
function that performs the actual mapping. - Sanity check for random sampling on rule
- Strategy must not define a
is_two_way
method in order to decide if they can
be used to find the count of a children knowing the parent's and other
children' count. If so the constructor returned by the new method
reverse_constructor
is used.
Changed
- Specification are now built using a set of rules
- The json format of a spec is based storing the json format of its rule
- Streamlined the extraction of a specification from a searcher.
- All unary strategy are now store at the level of the equivalence database in
order to avoid some productivity issue with catalytic variables.
Fixed
forward_map
ofEquivalencePathRule
all_specifications
method ofRuleDB
Version 3.0.0
[3.0.0] - 2021-01-04
Added
- Automatic bijection between equivalent specifications through the functions
get_bijection_to
andare_isomorphic
of the specifications class. The bijection object holds amap
function that performs the actual mapping. - Sanity check for random sampling on rule
- Strategy must not define a
is_two_way
method in order to decide if they can
be used to find the count of a children knowing the parent's and other
children' count. If so the constructor returned by the new method
reverse_constructor
is used.
Changed
- Specification are now built using a set of rules
- The json format of a spec is based storing the json format of its rule
- Streamlined the extraction of a specification from a searcher.
- All unary strategy are now store at the level of the equivalence database in
order to avoid some productivity issue with catalytic variables.
Fixed
forward_map
ofEquivalencePathRule
all_specifications
method ofRuleDB
Version 2.4.0
[2.4.0] - 2020-11-11
Changed
- Computation of terms in the constructor is now on a per size basis. The value for each possible paratemeters is computed at once in the new
get_terms
function of constructor. If you do not implement your own constructor this should have no effect on your code. The oldgenerate_object_of_size
method of the constructor is also replaced by aget_objects
method that returns the objects for each possible combination of parameters.
Version 2.3.0
[2.3.0] - 2020-10-28
Added
- Can sample and generate objects from specifications using multiple parameters.
- Sanity check tests object generation for rules with multiple parameteres.
Changed
- Removed the processname extra from logging
Version 2.2.1
[2.2.1] - 2020-09-10
Fixed
- when passed a multivariate function, the
taylor_expand
function expands in
x
. - A division by zero error that occurred making the status update before
starting to run.
Version 2.2.0
[2.2.0] - 2020-08-11
Added
- using Github Actions for testing and deployment
- add specification sharing function to
ForestSpecificationDrawer
Changed
- when using a
LimitedStrategyRuleDB
, searching is aborted much faster when the root
is not in the first pruned rules dictionary
Fixed
- use
AbstractRule
instead ofRule
in_rules_from_strategy
- fix
CombinatorialSpecification.share()
which was missing
Version 2.1.1
[2.1.1] - 2020-08-06
Fixed
- Hopefully fixed the type hints