mirror of
https://github.com/luxfhe/torus.git
synced 2026-10-30 17:07:26 +00:00
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.
1.2 KiB
1.2 KiB
module torus.fhe.extensions.univariate
Declaration of univariate function.
function univariate
univariate(
function: Callable[[Any], Any],
outputs: Optional[BaseDataType, type[ScalarAnnotation]] = None
) → Callable[[Union[Tracer, Any]], Union[Tracer, Any]]
Wrap a univariate function so that it is traced into a single generic node.
Args: function (Callable[[Any], Any]): univariate function to wrap
outputs (Optional[Union[BaseDataType, Type[ScalarAnnotation]]], default = None): data type of the result, unused during compilation, required for direct definition
Returns: CallableUnion[Tracer, Any, Union[Tracer, Any]]: another univariate function that can be called with a Tracer as well