dea5049be5e06ba92e870da0d6baa4c3eb54012c
Use git log --stat since last tag (fallback to last 10) so the AI sees file change stats, echo the log for visibility, and update the prompt to reference "commits and changes" for more accurate, user-facing notes.
medicallib_rust
MedicalSim core library rewrite in Rust.
- Safe, minimal API for medical simulation primitives
- Optional
serdefeature for serialization - Optional
ffifeature to expose a stable C ABI (cdylib)
Build
- Build:
cargo build(tests:cargo test) - FFI build:
cargo build --features ffi --release - Format/Lint:
cargo fmt --allandcargo clippy -D warnings
Examples
- Rust:
cargo run --example usageandcargo run --example patient - C FFI: see
examples/c/ffi_example.c, header inffi/medicallib.h
FFI ABI
- Opaque
MLPatienthandle - Functions:
medicallib_bmi,ml_patient_new/free/update,ml_patient_summary,ml_patient_organ_summary - All allocated strings must be freed with
ml_string_free
Version Matrix
- Rust 1.70+ (Edition 2021)
- OS: Linux, macOS, Windows (see GitHub Actions CI)
Docs
- Architecture:
ARCHITECTURE.md - Migration (C++ -> Rust):
MIGRATION.md - C/C++ install:
INSTALL.md
Packaging (binary distribution)
- Linux/macOS: run
../scripts/package.sh [target-triple]frommedicallib_rust/(ormake package). - Windows: run
..\scripts\package.ps1 [target-triple]frommedicallib_rust\. - Artifacts are placed in
medicallib_rust/dist/as both.tar.gz(Unix) and.zip.
CI: GitHub + Gitea
- GitHub Actions workflow:
.github/workflows/ci.yml - Gitea Actions workflow:
.gitea/workflows/ci.yml
Description