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.
20 lines
487 B
Python
20 lines
487 B
Python
import subprocess
|
|
|
|
TORUSCOMPILER = 'toruscompiler'
|
|
|
|
def ceil_log2(v, exact=False):
|
|
import math
|
|
log_v = math.ceil(math.log(v) / math.log(2))
|
|
assert not exact or v == 2 ** log_v
|
|
return log_v
|
|
|
|
def log2(v: int):
|
|
return ceil_log2(v, exact=True)
|
|
|
|
def run(*cmd):
|
|
result = subprocess.run(cmd, capture_output=True)
|
|
if result.returncode != 0:
|
|
print(result.stderr)
|
|
assert result.returncode == 0, ' '.join(cmd)
|
|
return str(result.stdout, encoding='utf-8')
|