From 672fd1b629ede5d67484f73ca9f0f1830fd92322 Mon Sep 17 00:00:00 2001 From: aletempiac Date: Sun, 19 Nov 2023 18:53:54 +0100 Subject: [PATCH] removing not used methods --- src/acd/ac_decomposition.hpp | 165 ----------------------------------- 1 file changed, 165 deletions(-) diff --git a/src/acd/ac_decomposition.hpp b/src/acd/ac_decomposition.hpp index c9b1b2453..2714f7a8e 100644 --- a/src/acd/ac_decomposition.hpp +++ b/src/acd/ac_decomposition.hpp @@ -367,171 +367,6 @@ private: // return multiplicity; // } - template - std::tuple, uint32_t> enumerate_iset_combinations( uint32_t free_set_size, Fn&& fn, bool verbose = false ) - { - /* works up to 16 input truth tables */ - assert( num_vars <= 16 ); - - /* special case */ - STT tt = best_tt; - if ( num_vars <= free_set_size || free_set_size == 0 ) - { - return { tt, permutations, UINT32_MAX }; - } - - /* select k */ - // free_set_size = std::min( free_set_size, num_vars - free_set_size ); - - /* init permutation array */ - std::array perm, best_perm; - std::copy( permutations.begin(), permutations.begin() + num_vars, perm.begin() ); - best_perm = perm; - - /* TT with best cost */ - STT best = tt; - uint32_t best_cost = UINT32_MAX; - - /* enumerate combinations */ - if ( free_set_size == 1 ) - { - uint32_t cost = fn( tt ); - if ( cost < best_cost ) - { - best = tt; - best_cost = cost; - best_perm = perm; - } - - if ( verbose ) - { - kitty::print_hex( tt ); - std::cout << " " << cost << " "; - print_perm( perm.begin(), free_set_size ); - } - - for ( uint32_t i = 1; i < num_vars; ++i ) - { - std::swap( perm[0], perm[i] ); - kitty::swap_inplace( tt, 0, i ); - - uint32_t cost = fn( tt ); - if ( cost < best_cost ) - { - best = tt; - best_cost = cost; - best_perm = perm; - } - - if ( verbose ) - { - kitty::print_hex( tt ); - std::cout << " " << cost << " "; - print_perm( perm.begin(), free_set_size ); - } - } - } - else if ( free_set_size == 2 ) - { - for ( uint32_t i = 0; i < num_vars - 1; ++i ) - { - uint32_t cost = fn( tt ); - if ( cost < best_cost ) - { - best = tt; - best_cost = cost; - best_perm = perm; - } - - if ( verbose ) - { - kitty::print_hex( tt ); - std::cout << " " << cost << " "; - print_perm( perm.begin(), free_set_size ); - } - - for ( uint32_t j = 2; j < num_vars - i; ++j ) - { - std::swap( perm[1], perm[j] ); - kitty::swap_inplace( tt, 1, j ); - - uint32_t cost = fn( tt ); - if ( cost < best_cost ) - { - best = tt; - best_cost = cost; - best_perm = perm; - } - - if ( verbose ) - { - kitty::print_hex( tt ); - std::cout << " " << cost << " "; - print_perm( perm.begin(), free_set_size ); - } - } - - std::swap( perm[0], perm[num_vars - i - 1] ); - kitty::swap_inplace( tt, 0, num_vars - i - 1 ); - } - } - else if ( free_set_size == 3 ) - { - for ( uint32_t i = 0; i < num_vars - 2; ++i ) - { - for ( uint32_t j = i; j < num_vars - 2; ++j ) - { - uint32_t cost = fn( tt ); - if ( cost < best_cost ) - { - best = tt; - best_cost = cost; - best_perm = perm; - } - - if ( verbose ) - { - kitty::print_hex( tt ); - std::cout << " " << cost << " "; - print_perm( perm.begin(), free_set_size ); - } - - for ( uint32_t k = 3; k < num_vars - j; ++k ) - { - std::swap( perm[2], perm[k] ); - kitty::swap_inplace( tt, 2, k ); - - uint32_t cost = fn( tt ); - if ( cost < best_cost ) - { - best = tt; - best_cost = cost; - best_perm = perm; - } - - if ( verbose ) - { - kitty::print_hex( tt ); - std::cout << " " << cost << " "; - print_perm( perm.begin(), free_set_size ); - } - } - - std::swap( perm[1], perm[num_vars - j - 1] ); - kitty::swap_inplace( tt, 1, num_vars - j - 1 ); - } - - std::swap( perm[0], perm[num_vars - i - 1] ); - kitty::swap_inplace( tt, 0, num_vars - i - 1 ); - } - } - - std::vector res_perm( num_vars ); - std::copy( best_perm.begin(), best_perm.begin() + num_vars, res_perm.begin() ); - - return std::make_tuple( best, res_perm, best_cost ); - } - inline bool combinations_offset_next( uint32_t k, uint32_t offset, uint32_t *pComb, uint32_t *pInvPerm, STT& tt ) { uint32_t i;