SilverSight/lakefile.lean
allaun fec200205e feat(rrc): port ReceiptDensity, PolyFactorIdentity, EntropyCandidates and add Q16_16 roundtrip test
Ports three Research Stack RRC gates into formal/SilverSight/RRC/ using the existing CoreFormalism braid and Q16_16 surfaces.

Adds a Lean ↔ C ↔ Python Q16_16 roundtrip test:

  - c/q16_canonical.c: canonical saturating Q16_16 C library

  - exe/Q16_16Roundtrip.lean: Lake extern_lib linked executable

  - tests/test_q16_roundtrip.py: Python ↔ C harness (revived from quarantine)

Updates lakefile.lean with q16-roundtrip executable and extern_lib q16_canonical.

Build: lake build SilverSightRRC 3006 jobs, 0 errors; q16-roundtrip 5949 jobs, 0 errors
2026-06-21 10:39:18 -05:00

83 lines
2.4 KiB
Text

import Lake
open Lake DSL
open System
package «SilverSight» where
-- Settings applied to both builds and interactive editing
leanOptions := #[
⟨`pp.unicode.fun, true⟩ -- pretty-prints `fun a ↦ b`
]
-- Add any additional package configuration options here
@[default_target]
lean_lib «SilverSightCore» where
-- Add any library configuration options here
srcDir := "Core"
roots := #[`SilverSightCore, `SilverSight.FixedPoint]
lean_lib «SilverSightFormal» where
srcDir := "formal"
roots := #[
`CoreFormalism.FixedPoint,
`CoreFormalism.Tactics,
`CoreFormalism.Q16_16Numerics,
`CoreFormalism.DynamicCanal,
`CoreFormalism.Bind,
`CoreFormalism.BraidBracket,
`CoreFormalism.BraidStrand,
`CoreFormalism.BraidCross,
`CoreFormalism.BraidField,
`CoreFormalism.SidonSets,
`CoreFormalism.SieveLemmas,
`CoreFormalism.InteractionGraphSidon,
`CoreFormalism.BraidEigensolid,
`CoreFormalism.BraidSpherionBridge
]
lean_lib «SilverSightRRC» where
srcDir := "formal"
roots := #[
`SilverSight.PIST.Spectral,
`SilverSight.PIST.Classify,
`SilverSight.PIST.Matrices250,
`SilverSight.RRCLogogramProjection,
`SilverSight.ReceiptCore,
`SilverSight.RRC.Emit,
`SilverSight.RRC.ReceiptDensity,
`SilverSight.RRC.PolyFactorIdentity,
`SilverSight.RRC.EntropyCandidates,
`SilverSight.RRC.Corpus250,
`SilverSight.AVMIsa.Types,
`SilverSight.AVMIsa.Value,
`SilverSight.AVMIsa.Instr,
`SilverSight.AVMIsa.State,
`SilverSight.AVMIsa.Step,
`SilverSight.AVMIsa.Run,
`SilverSight.AVMIsa.Emit
]
lean_exe «rrc-emit-fixture» where
root := `RrcEmitFixture
srcDir := "exe"
lean_exe «q16-roundtrip» where
root := `Q16_16Roundtrip
srcDir := "exe"
-- Static C library for the Q16_16 roundtrip executable.
def cSrcDir : FilePath := FilePath.mk "c"
target q16_canonical.o pkg : FilePath := do
let oFile := pkg.buildDir / cSrcDir / "q16_canonical.o"
let srcJob ← inputFile (pkg.srcDir / cSrcDir / "q16_canonical.c") true
let flags := #["-fPIC", "-O2"]
buildO oFile srcJob flags
extern_lib q16_canonical pkg := do
let name := nameToStaticLib "q16_canonical"
let libFile := pkg.buildDir / cSrcDir / name
let oJob ← fetch <| pkg.target ``q16_canonical.o
buildStaticLib libFile #[oJob]
require mathlib from git
"https://github.com/leanprover-community/mathlib4.git"