Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -72,5 +72,53 @@ Non-Functional Requirements

The bit manipulation API shall be header-only and not require external dependencies.

.. needextend:: "__bitmaipulation__" in id
Assumptions of Use (AoU)
========================

.. aou_req:: Valid Bit Positions and Ranges
:id: aou_req__bitmanipulation__valid_bit_positions
:reqtype: Functional
:security: NO
:safety: ASIL_B
:status: valid

The user shall assume that the API performs bound checking to validate bit positions and ranges provided to the bit manipulation functions.

.. aou_req:: Integral Type Constraints
:id: aou_req__bitmanipulation__type_constraints
:reqtype: Functional
:security: NO
:safety: ASIL_B
:status: valid

The user shall only use bit manipulation functions with integral types (integers, enumerations) as specified in the library's type constraints. Operations on floating-point or non-integral types are not supported.

.. aou_req:: Enum Class Type Safety
:id: aou_req__bitmanipulation__enum_type_safety
:reqtype: Functional
:security: NO
:safety: ASIL_B
:status: valid

The user shall use scoped enumeration types (enum class) whose enumerators are defined as non-zero power-of-two values (1, 2, 4, 8, 16, etc.)

.. aou_req:: No Side Effects on Concurrent Access
:id: aou_req__bitmanipulation__concurrent_access
:reqtype: Non-Functional
:security: NO
:safety: ASIL_B
:status: valid

The user shall implement external synchronization mechanisms (e.g., mutexes, atomic operations, or locks) when accessing or modifying the same integral value from multiple threads concurrently, as the library provides no internal thread safety guarantees.

.. aou_req:: Bit Extraction Index Validation
:id: aou_req__bitmanipulation__bit_validation
:reqtype: Functional
:security: NO
:safety: ASIL_B
:status: valid

The user shall validate byte and half-byte extraction indices to ensure they correspond to valid positions within the target integral type to prevent accessing invalid memory ranges.

.. needextend:: "__bitmanipulation__" in id
:+tags: baselibs