Change Log¶
Next release¶
v0.8 (September 9, 2022)¶
Data structure:
ternary_truth_table
andquaternary_truth_table
(contributed by Siang-Yun Lee and Gianluca Radi) #133Print:
print_kmap
(contributed by Gianluca Radi) #129Constructors:
create_from_formula
(contributed by Alessandro Tempia Calvino) #123Canonization:
exact_n_canonization
,exact_n_canonization_complete
,exact_np_enumeration
,exact_p_enumeration
,exact_n_enumeration
(contributed by Alessandro Tempia Calvino) #123Data structure:
partial_truth_table
(contributed by Siang-Yun Lee) #102Properties:
is_covered_with_divisors
(contributed by Heinz Riener) #106Algorithm:
ternary_predicate
(contributed by Siang-Yun Lee) #120Operation:
intersection_is_empty
(contributed by Siang-Yun Lee) #120
v0.7 (March 13, 2020)¶
Properties:
is_normal
,is_trivial
(contributed by Winston Haaswijk) #75Operations:
shift_with_mask_inplace
andshift_with_mask
#80Compute simple SPP from ESOP form #83
Bit operation:
count_zeros
(contributed by Heinz Riener) #84Properties:
absolute_distinguishing_power
,relative_distinguishing_power
(contributed by Heinz Riener) #84Properties:
polynomial_degree
#86Canonization:
spectral_representative
#89ANF as expression:
anf_to_expression
#91Constructor:
nth_var
#95Spectral 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
Operations:
implies
(contributed by Heinz Riener),mux_var
#65 #66Decomposition (DSD):
is_top_decomposable
,is_bottom_decomposable
#66Ashenhurst decomposition:
is_ashenhurst_decomposable
,ashenhurst_decomposition
(contributed by Mahyar Emami) #70Bi-decomposition:
is_bi_decomposable
(contributed by Eleonora Testa) #72Canonization:
exact_p_canonization
(contributed by Eleonora Testa) #68Properties:
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 #60Type traits:
is_truth_table
#53Assignment operator for truth tables #54
Function properties:
is_symmetric_in
#55Bit operations:
flip_bit
#56Constructors:
create_from_expression
#58Marked
esop_from_pprm
andesop_from_optimum_pkrm
as deprecated #59Function representative enumeration #61
v0.4 (May 4, 2018)¶
Constructors:
create
,create_from_clauses
,create_characteristic
,create_multiple_from_chain
#41 #43 #45Operation
extend_to
is now calledextend_to_inplace
, new special out-of-place versionsextend_to
#47CNF generation:
cnf_characteristic
#41Print all cubes:
print_cubes
#44Generate implicants and prime implicants:
get_minterms
,get_jbuddies
,get_prime_implicants_morreale
#46Function properties:
chow_parameters
,is_canalizing
,is_horn
,is_krom
#48Spectral canonization with resource limit #49
Compute different spectra:
rademacher_walsh_spectrum
,autocorrelation_spectrum
,spectrum_distribution
#49Compute spectral equivalence class index:
get_spectral_class
#50
v0.3 (February 25, 2018)¶
Cube constructors:
pos_cube
,neg_cube
, constructor to create cube from string #29 #31Cube methods:
get_bit
,get_mask
,set_bit
,set_mask
,clear_bit
,clear_mask
(contributed by Heinz Riener) #30Operations:
shift_left
,shift_left_inplace
,shift_right
,shift_right_inplace
#37 #39Return truth table as string:
to_binary
,to_hex
#33Default 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
#36Compute PPRM ESOP for truth table:
esop_from_pprm
#38Compute 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 #16Constructors:
create_from_words
,create_from_raw
,create_threshold
,create_equals
#15 #20 #24 #25Moved generic operations from operations.hpp to algorithm.hpp #14
Print truth tables as string:
print_binary
,print_raw
,print_hex
#14 #20 #22Added iterators to all truth tables:
begin
,end
,rbegin
,rend
,cbegin
,cend
,crbegin
,crend
#14Count number of ones in truth table:
count_ones
#21Find bits:
find_first_one_bit
,find_last_one_bit
,find_first_bit_difference
,find_last_bit_difference
#17Extend smaller truth tables to larger ones:
extend_to
#26Compute ESOP expressions:
esop_from_optimum_pkrm
#23New data structure for cubes used by ISOP and ESOP computation:
cube
#23NPN canonization heuristics:
flip_swap_npn_canonization
,sifting_npn_canonization
#27Spectral canonization:
exact_spectral_canonization
,print_spectrum
#19
v0.1 (October 22, 2017)¶
Initial release
Data structures
static_truth_table
anddynamic_truth_table
#1Constructors:
create_nth_var
,create_from_binary_string
,create_from_hex_string
,create_random
,create_from_cubes
, andcreate_majority
#1 #4 #5 #9 #11Unary and binary operations:
unary_not
,unary_not_if
,binary_and
,binary_or
, andbinary_xor
#2 #8Ternary operations:
ternary_majority
andternary_ite
#3Predicates:
has_var
,is_const0
#11Swap adjacent variables:
swap_adjacent_inplace
,swap_adjacent
#6Swap variables:
swap_inplace
,swap
#8Flip variable:
flip_inplace
,flip
#7Enumerate truth tables:
next_inplace
,next
#10Compute co-factors:
cofactor0_inplace
,cofactor0
,cofactor1_inplace
,cofactor1
#11Compute minimum base based on functional support:
min_base_inplace
,expand_inplace
#12Compute hash values for truth table #13
NPN canonization:
exact_npn_canonization
,create_from_npn_config
#8Compute ISOP representation:
isop
#11