Files
torus/docs/dev/api/torus.fhe.extensions.hint.md
zeekay f968edf75a Rename the Concrete dialect and project identifiers to Torus
The MLIR dialect, its conversion passes (TFHEToConcrete, ConcreteToCAPI,
ConcreteToLLVM), the optimizer component, the compiler binary, the Rust
crate and the program_info parameter file all still carried the upstream
project's name. They now carry this one's.

Two things deliberately keep the word, because in them it is not the name.
mlir::OpTrait CRTP parameters mean "the derived type", so they are spelled
Derived and OpTy — LLVM's other conventional spelling for the same idiom.
concreteShape is a capnp field: renaming it would change the serialized
protocol, and the prose describing it is ordinary English.

This also repairs references the earlier partial rename left dangling:
Security.cpp included concrete/curves.gen.h and the directory is torus/,
torus-cpu.h included concrete-num_complex.h, the Torus dialect CMakeLists
named ConcreteOps.td, and compiler/setup.py asked find_namespace_packages
for a "concrete" package that no longer exists — so it built without the
package it ships.
2026-08-27 13:17:38 -07:00

1.4 KiB

module torus.fhe.extensions.hint

Declaration of hinting extensions, to provide more information to Torus.


function hint

hint(
    x: Union[Tracer, Any],
    bit_width: Optional[int] = None,
    can_store: Optional[Any] = None
) → Union[Tracer, Any]

Hint the compilation process about properties of a value.

Hints are useful if you know something about a value, but it's hard to cover in the inputset. An example of this can be a complex circuit doing a lot of bitwise operations on 8-bits. It's very hard to make sure every intermediate has 8-bits, but you can use hints to solve this. If you mark your intermediates using this function to be 8-bits, they'll be assigned at least 8-bits during the bit-width assignment step.

Args: x (Union[Tracer, Any]): value to hint

bit_width (Optional[int], default = None): hint about bit width

can_store (Optional[Any], default = None): hint that the value needs to be able to store the given value

Returns: Union[Tracer, Any]: hinted value