Bit Operations Module
The bitops module provides optimized bit manipulation functions for SEU injection.
Float32 Operations
Optimized IEEE 754 Float32 bit manipulation operations.
This module contains high-performance implementations of bit-level manipulation functions for float32 values. These functions are designed for production use and prioritize speed and memory efficiency.
- seu_injection.bitops.float32.bitflip_float32_optimized(values, bit_position, inplace=False)[source]
High-performance bit flipping using direct memory manipulation and vectorization.
- Parameters:
- Returns:
Value(s) with specified bit flipped.
- Return type:
Union[float, np.ndarray]
- seu_injection.bitops.float32.bitflip_float32_fast(x, bit_i=None, inplace=False)[source]
Intelligent bit flipping with automatic performance optimization and fallback handling.
- Parameters:
- Returns:
Value(s) with specified bit flipped.
- Return type:
Union[float, np.ndarray]
Bitflip Function
- seu_injection.bitops.bitflip_float32(x, bit_i=None)[source]
Flip a specific bit in IEEE 754 float32 values using string-based manipulation.
- Parameters:
- Returns:
Value(s) with the specified bit flipped.
- Return type:
Union[float, np.ndarray]
- Raises:
ValueError – If bit_i is not in valid range [0, 31] when specified.
TypeError – If input contains non-numeric values.
Utilities
Utility functions for IEEE 754 Float32 bit manipulation.
This module contains shared utility functions used across both legacy and optimized implementations of float32 bit manipulation.
- seu_injection.bitops.utils.float32_to_binary(f)[source]
Convert a float32 value to its IEEE 754 binary representation.
- seu_injection.bitops.utils.binary_to_float32(binary_str)[source]
Convert a 32-bit binary string to a float32 value.
- Parameters:
binary_str (
str) – 32-character binary string.- Return type:
- Returns:
Corresponding float32 value.
- Raises:
ValueError – If binary_str is not exactly 32 characters.