Skip to content

Latest commit

 

History

History
307 lines (214 loc) · 12.2 KB

changelog.rst

File metadata and controls

307 lines (214 loc) · 12.2 KB

Change Log

Next release

v0.8 (September 9, 2022)

  • Data structure: ternary_truth_table and quaternary_truth_table (contributed by Siang-Yun Lee and Gianluca Radi) #133
  • Print: print_kmap (contributed by Gianluca Radi) #129
  • Constructors: create_from_formula (contributed by Alessandro Tempia Calvino) #123
  • Canonization: exact_n_canonization, exact_n_canonization_complete, exact_np_enumeration, exact_p_enumeration, exact_n_enumeration (contributed by Alessandro Tempia Calvino) #123
  • Data structure: partial_truth_table (contributed by Siang-Yun Lee) #102
  • Properties: is_covered_with_divisors (contributed by Heinz Riener) #106
  • Algorithm: ternary_predicate (contributed by Siang-Yun Lee) #120
  • Operation: intersection_is_empty (contributed by Siang-Yun Lee) #120

v0.7 (March 13, 2020)

  • Properties: is_normal, is_trivial (contributed by Winston Haaswijk) #75
  • Operations: shift_with_mask_inplace and shift_with_mask #80
  • Compute simple SPP from ESOP form #83
  • Bit operation: count_zeros (contributed by Heinz Riener) #84
  • Properties: absolute_distinguishing_power, relative_distinguishing_power (contributed by Heinz Riener) #84
  • Properties: polynomial_degree #86
  • Canonization: spectral_representative #89
  • ANF as expression: anf_to_expression #91
  • Constructor: nth_var #95
  • Spectral classification: hybrid_exact_spectral_canonization #96

v0.6 (June 2, 2019)

  • Print function and functions in christmas tree pattern #62
  • Get runlength encoding of truth table bits #63
  • Constructors: create_from_parity, create_prime #64 #67
  • Operations: implies (contributed by Heinz Riener), mux_var #65 #66
  • Decomposition (DSD): is_top_decomposable, is_bottom_decomposable #66
  • Ashenhurst decomposition: is_ashenhurst_decomposable, ashenhurst_decomposition (contributed by Mahyar Emami) #70
  • Bi-decomposition: is_bi_decomposable (contributed by Eleonora Testa) #72
  • Canonization: exact_p_canonization (contributed by Eleonora Testa) #68
  • Properties: is_monotone, is_selfdual (contributed by Eleonora Testa) #69

v0.5 (October 8, 2018)

  • Cube methods: difference, flip_bit, flip_mask (contributed by Heinz Riener) #52 #60
  • Type traits: is_truth_table #53
  • Assignment operator for truth tables #54
  • Function properties: is_symmetric_in #55
  • Bit operations: flip_bit #56
  • Constructors: create_from_expression #58
  • Marked esop_from_pprm and esop_from_optimum_pkrm as deprecated #59
  • Function representative enumeration #61

v0.4 (May 4, 2018)

  • Constructors: create, create_from_clauses, create_characteristic, create_multiple_from_chain #41 #43 #45
  • Operations: shrink_to and shrink_to_inplace #42 #47
  • Operation extend_to is now called extend_to_inplace, new special out-of-place versions extend_to #47
  • CNF generation: cnf_characteristic #41
  • Print all cubes: print_cubes #44
  • Generate implicants and prime implicants: get_minterms, get_jbuddies, get_prime_implicants_morreale #46
  • Function properties: chow_parameters, is_canalizing, is_horn, is_krom #48
  • Spectral canonization with resource limit #49
  • Compute different spectra: rademacher_walsh_spectrum, autocorrelation_spectrum, spectrum_distribution #49
  • Compute spectral equivalence class index: get_spectral_class #50

v0.3 (February 25, 2018)

  • Constructors: create_from_chain, create_symmetric #28 #35
  • Cube constructors: pos_cube, neg_cube, constructor to create cube from string #29 #31
  • Cube methods: get_bit, get_mask, set_bit, set_mask, clear_bit, clear_mask (contributed by Heinz Riener) #30
  • Operations: shift_left, shift_left_inplace, shift_right, shift_right_inplace #37 #39
  • Operators: !=, <<, <<=, >>, >>= #32 #37 #39
  • Return truth table as string: to_binary, to_hex #33
  • Default comparison for cubes (contributed by Heinz Riener) #34
  • Linear and affine canonization: exact_linear_canonization, exact_linear_output_canonization, exact_affine_canonization, exact_affine_output_canonization #36
  • Compute PPRM ESOP for truth table: esop_from_pprm #38
  • Compute permutation masks and delta-swap operations: delta_swap_inplace, delta_swap, permute_with_masks_inplace, permute_with_masks, compute_permutation_masks, #40

v0.2 (December 21, 2017)

  • Generic algorithms: for_each_block, for_each_block_reversed, for_each_one_bit #14 #16
  • Constructors: create_from_words, create_from_raw, create_threshold, create_equals #15 #20 #24 #25
  • Moved generic operations from operations.hpp to algorithm.hpp #14
  • Print truth tables as string: print_binary, print_raw, print_hex #14 #20 #22
  • Added iterators to all truth tables: begin, end, rbegin, rend, cbegin, cend, crbegin, crend #14
  • Count number of ones in truth table: count_ones #21
  • Find bits: find_first_one_bit, find_last_one_bit, find_first_bit_difference, find_last_bit_difference #17
  • Extend smaller truth tables to larger ones: extend_to #26
  • Compute ESOP expressions: esop_from_optimum_pkrm #23
  • New data structure for cubes used by ISOP and ESOP computation: cube #23
  • NPN canonization heuristics: flip_swap_npn_canonization, sifting_npn_canonization #27
  • Spectral canonization: exact_spectral_canonization, print_spectrum #19

v0.1 (October 22, 2017)

  • Initial release
  • Data structures static_truth_table and dynamic_truth_table #1
  • Bit functions: set_bit, get_bit, clear_bit, clear #1 #8
  • Constructors: create_nth_var, create_from_binary_string, create_from_hex_string, create_random, create_from_cubes, and create_majority #1 #4 #5 #9 #11
  • Unary and binary operations: unary_not, unary_not_if, binary_and, binary_or, and binary_xor #2 #8
  • Ternary operations: ternary_majority and ternary_ite #3
  • Binary predicates: equal, less_than #4 #8
  • Predicates: has_var, is_const0 #11
  • Operators: ~, &, &=, |, |=, ^, ^=, ==, < #8 #11
  • Swap adjacent variables: swap_adjacent_inplace, swap_adjacent #6
  • Swap variables: swap_inplace, swap #8
  • Flip variable: flip_inplace, flip #7
  • Enumerate truth tables: next_inplace, next #10
  • Compute co-factors: cofactor0_inplace, cofactor0, cofactor1_inplace, cofactor1 #11
  • Compute minimum base based on functional support: min_base_inplace, expand_inplace #12
  • Compute hash values for truth table #13
  • NPN canonization: exact_npn_canonization, create_from_npn_config #8
  • Compute ISOP representation: isop #11