libreda-logic 0.0.3

Logic library for LibrEDA.
Documentation
// SPDX-FileCopyrightText: 2023 Thomas Kramer <code@tkramer.ch>
//
// SPDX-License-Identifier: AGPL-3.0-or-later

//! Truth-table data structure with unlimited but static number of inputs.

struct StaticLut<const NUM_INPUTS: usize, const NUM_WORDS: usize> {
    lut: [u64; NUM_WORDS],
}

const fn lut_size(num_inputs: usize) -> usize {
    1 << num_inputs
}

impl<const NUM_INPUTS: usize, const N: usize> StaticLut<NUM_INPUTS, N> {
    pub const fn size() -> usize {
        1 << NUM_INPUTS
    }
}