Skip to content

Releases: PermutaTriangle/comb_spec_searcher

Version 4.2.0

18 Jan 22:13
9baae92
Compare
Choose a tag to compare

[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

17 Jan 10:09
ef252a7
Compare
Choose a tag to compare

[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

14 Jun 16:03
6170fc6
Compare
Choose a tag to compare

[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
    a CombinatorialSpecificationSearcher 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

14 Jun 09:59
03fe014
Compare
Choose a tag to compare

Re-release for Zenodo

[3.0.0] - 2021-01-04

Added

  • Automatic bijection between equivalent specifications through the functions get_bijection_to and are_isomorphic of the specifications class. The bijection object holds a map 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 of EquivalencePathRule
  • all_specifications method of RuleDB

Version 3.0.0

05 Jan 10:55
03fe014
Compare
Choose a tag to compare

[3.0.0] - 2021-01-04

Added

  • Automatic bijection between equivalent specifications through the functions get_bijection_to and are_isomorphic of the specifications class. The bijection object holds a map 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 of EquivalencePathRule
  • all_specifications method of RuleDB

Version 2.4.0

11 Nov 13:22
0d1af30
Compare
Choose a tag to compare

[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 old generate_object_of_size method of the constructor is also replaced by a get_objects method that returns the objects for each possible combination of parameters.

Version 2.3.0

28 Oct 12:37
91740c6
Compare
Choose a tag to compare

[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

10 Sep 14:22
e430f70
Compare
Choose a tag to compare

[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

11 Aug 16:33
52dda1f
Compare
Choose a tag to compare

[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 of Rule in _rules_from_strategy
  • fix CombinatorialSpecification.share() which was missing

Version 2.1.1

06 Aug 15:20
baf000b
Compare
Choose a tag to compare

[2.1.1] - 2020-08-06

Fixed

  • Hopefully fixed the type hints