Change Log¶
Next release¶
v0.8 (September 9, 2022)¶
Data structure:
ternary_truth_tableandquaternary_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_inplaceandshift_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_pprmandesop_from_optimum_pkrmas 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_tois 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_tableanddynamic_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_majorityandternary_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