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.multivariate
Declaration of multivariate extension.
function multivariate
multivariate(
function: Callable,
outputs: Optional[BaseDataType, type[ScalarAnnotation]] = None
) → Callable
Wrap a multivariate function so that it is traced into a single generic node.
Args: function (Callable[[Any, ...], Any]): multivariate function to wrap
outputs (Optional[Union[BaseDataType, Type[ScalarAnnotation]]], default = None): data type of the result only required for direct circuits ignored when compiling with inputsets
Returns: CallableUnion[Tracer, Any], ...], Union[Tracer, Any: another multivariate function that can be called with Tracers as well