Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::algebra::Bit2U64Action Struct Referenceexport

Scalar action \(\mathbb{F}_2 \times \mathbb{F}_2^{64} \to \mathbb{F}_2^{64}\) on (bool, uint64_t). More...

Public Member Functions

constexpr std::uint64_t operator() (bool s, std::uint64_t v) const noexcept

Detailed Description

Scalar action \(\mathbb{F}_2 \times \mathbb{F}_2^{64} \to \mathbb{F}_2^{64}\) on (bool, uint64_t).

The scalar side is \(\mathbb{F}_2\) (witnessed on bool under (std::bit_xor, std::bit_and); see :galois). The vector side is std::uint64_t carrying the 64-D vector space \(\mathbb{F}_2^{64}\) under std::bit_xor<uint64_t>. The action is "multiply every bit of @c v by the scalar bit": false·v = 0, true·v = v, which is bitwise AND between the broadcast scalar and the vector — implementable as a branch or as (s ? ~0ull : 0ull) & v.


The documentation for this struct was generated from the following file: