fhelium.backend.ckks._key_switch_preparation
Declare operands for complete native CKKS key-switch implementations.
key_switch_runtime_attributes
function View source
def key_switch_runtime_attributes(facts: Mapping[str, object]) -> dict[str, object]: ...Select the native invocation fields from prepared mathematical facts.
Catalog row identities and stored key layouts describe numerical operands; execution consumes their Tensor data with counts and physical digit spans.
operation_key_facts
function View source
def operation_key_facts(operation: Operation, config: CkksConfig, depth: int): ...Read mathematical key layout from supplied operands, retaining unknowns.
native_key_switch_requirements
function View source
def native_key_switch_requirements(operation: Operation, config: CkksConfig) -> tuple[dict[str, Attribute], dict[str, dict[str, object]]] | None: ...Select the whole implementation's internal schedule and declare operands.
Existing numerical operands are retained by Compile. Internal NTT choices belong to this native whole implementation; logical NTT operations exposed by a lowering use the ordinary NTT implementation selector instead.
rotation_sum_requirements
function View source
def rotation_sum_requirements(operation: ckks.RotationSumOp, config: CkksConfig) -> tuple[dict[str, Attribute], dict[str, dict[str, object]]] | None: ...prepare_native_key_switch
function View source
def prepare_native_key_switch(implementation, operation: Operation): ...Require concrete invocation parameters before linking native execution.