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
|
JIT-compiled batch ANF evaluation. |
|
Convert batch of binary vectors to indices. |
|
Convert binary vector to integer index. |
|
Compute degree of polynomial representation. |
|
Fallback Fourier batch evaluation. |
|
Fallback influence computation. |
|
Fallback truth table batch evaluation. |
|
JIT-compiled batch Fourier expansion evaluation. |
Get Numba optimization statistics. |
|
|
JIT-compiled influence computation. |
Check if Numba optimization is available. |
|
|
JIT-compiled noise stability computation. |
|
Apply Numba optimization to an operation. |
|
JIT-compiled polynomial evaluation. |
|
Count number of set bits in integer (population count). |
|
JIT-compiled batch truth table evaluation. |
|
In-place Walsh-Hadamard transform. |
Classes
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.
- 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.
- 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.