boofun.core.numba_optimizations

Numba JIT optimizations for Boolean function operations.

This module provides JIT-compiled versions of critical operations for significant performance improvements in compute-intensive scenarios.

Functions

anf_batch_eval(inputs, monomial_arrays, ...)

JIT-compiled batch ANF evaluation.

batch_binary_to_indices(binary_matrix)

Convert batch of binary vectors to indices.

binary_to_index(binary_vec)

Convert binary vector to integer index.

degree_computation(monomial_powers)

Compute degree of polynomial representation.

fallback_fourier_batch(inputs, coefficients)

Fallback Fourier batch evaluation.

fallback_influences(truth_table, n_vars)

Fallback influence computation.

fallback_truth_table_batch(inputs, truth_table)

Fallback truth table batch evaluation.

fourier_batch_eval(inputs, coefficients)

JIT-compiled batch Fourier expansion evaluation.

get_numba_stats()

Get Numba optimization statistics.

influences_computation(truth_table, n_vars)

JIT-compiled influence computation.

is_numba_available()

Check if Numba optimization is available.

noise_stability_computation(fourier_coeffs, rho)

JIT-compiled noise stability computation.

numba_optimize(operation, *args, **kwargs)

Apply Numba optimization to an operation.

polynomial_batch_eval(inputs, ...)

JIT-compiled polynomial evaluation.

popcount(x)

Count number of set bits in integer (population count).

truth_table_batch_eval(inputs, truth_table)

JIT-compiled batch truth table evaluation.

walsh_hadamard_transform_inplace(values)

In-place Walsh-Hadamard transform.

Classes

NumbaOptimizer()

Manager for Numba JIT optimizations.

boofun.core.numba_optimizations.popcount(x)[source]

Count number of set bits in integer (population count).

boofun.core.numba_optimizations.binary_to_index(binary_vec)[source]

Convert binary vector to integer index.

boofun.core.numba_optimizations.batch_binary_to_indices(binary_matrix)[source]

Convert batch of binary vectors to indices.

boofun.core.numba_optimizations.truth_table_batch_eval(inputs, truth_table)[source]

JIT-compiled batch truth table evaluation.

boofun.core.numba_optimizations.fourier_batch_eval(inputs, coefficients)[source]

JIT-compiled batch Fourier expansion evaluation.

boofun.core.numba_optimizations.walsh_hadamard_transform_inplace(values)[source]

In-place Walsh-Hadamard transform.

boofun.core.numba_optimizations.anf_batch_eval(inputs, monomial_arrays, monomial_lengths, coefficients)[source]

JIT-compiled batch ANF evaluation.

boofun.core.numba_optimizations.influences_computation(truth_table, n_vars)[source]

JIT-compiled influence computation.

boofun.core.numba_optimizations.noise_stability_computation(fourier_coeffs, rho)[source]

JIT-compiled noise stability computation.

boofun.core.numba_optimizations.polynomial_batch_eval(inputs, monomial_powers, coefficients)[source]

JIT-compiled polynomial evaluation.

boofun.core.numba_optimizations.degree_computation(monomial_powers)[source]

Compute degree of polynomial representation.

class boofun.core.numba_optimizations.NumbaOptimizer[source]

Manager for Numba JIT optimizations.

Provides optimized versions of critical Boolean function operations with automatic fallback to pure Python/NumPy implementations.

__init__()[source]

Initialize Numba optimizer.

is_available() bool[source]

Check if Numba optimization is available.

optimize_truth_table_batch(inputs: ndarray, truth_table: ndarray) ndarray[source]

Optimized batch truth table evaluation.

optimize_fourier_batch(inputs: ndarray, coefficients: ndarray) ndarray[source]

Optimized batch Fourier evaluation.

optimize_influences(truth_table: ndarray, n_vars: int) ndarray[source]

Optimized influence computation.

optimize_noise_stability(fourier_coeffs: ndarray, rho: float) float[source]

Optimized noise stability computation.

optimize_walsh_hadamard(values: ndarray) ndarray[source]

Optimized Walsh-Hadamard transform.

optimize_anf_batch(inputs: ndarray, anf_data: Dict) ndarray[source]

Optimized batch ANF evaluation.

get_optimization_stats() Dict[str, Any][source]

Get optimization statistics.

boofun.core.numba_optimizations.is_numba_available() bool[source]

Check if Numba optimization is available.

boofun.core.numba_optimizations.numba_optimize(operation: str, *args, **kwargs) Any[source]

Apply Numba optimization to an operation.

Parameters:
  • operation – Operation name

  • *args – Operation arguments

  • **kwargs

    Operation arguments

Returns:

Optimized operation result

boofun.core.numba_optimizations.get_numba_stats() Dict[str, Any][source]

Get Numba optimization statistics.

boofun.core.numba_optimizations.fallback_truth_table_batch(inputs: ndarray, truth_table: ndarray) ndarray[source]

Fallback truth table batch evaluation.

boofun.core.numba_optimizations.fallback_fourier_batch(inputs: ndarray, coefficients: ndarray) ndarray[source]

Fallback Fourier batch evaluation.

boofun.core.numba_optimizations.fallback_influences(truth_table: ndarray, n_vars: int) ndarray[source]

Fallback influence computation.