#include #include "LocalMarket.h" #include "admm_lite.h" #include "Registry.h" #include "dsl_seed.h" #include "delta_crdt.h" // A tiny demo that creates two LocalMarkets and demonstrates a simple ADMM-lite step. int main(void) { // 1) Demonstrate a simple registry usage (GoC-like bridge) Registry reg; registry_init(®); registry_register(®, "LocalMarket", "v1.0", 1); registry_register(®, "SharedSignals", "v1.0", 1); const char* lm_ver = registry_lookup(®, "LocalMarket"); printf("DeltaMesh REG: LocalMarket -> %s\n", lm_ver ? lm_ver : ""); // 2) Demonstrate DSL seed usage (toy initialization) LocalMarketSeed lm_seed; dsl_localmarket_seed_init(&lm_seed, "VenueA", 100.0, 50.0); SharedSignalsSeed ss_seed; dsl_sharedsignals_seed_init(&ss_seed, 0.25, 0.18); PlanDeltaSeed pd_seed; dsl_plandelta_seed_init(&pd_seed, 0.5, 0.2, 12345); printf("DeltaMesh DSL seeds: lm=%s, ivol=%.3f, quote=%.3f\n", lm_seed.venue, ss_seed.implied_vol, pd_seed.quote); // 3) Demonstrate a CRDT-like delta merge (toy) DeltaCRDT d1 = { .version = 1, .value_delta = 0.2 }; DeltaCRDT d2 = { .version = 2, .value_delta = -0.1 }; DeltaCRDT merged = {0}; crdt_merge(&d1, &d2, &merged); printf("DeltaMesh CRDT merge: ver=%lu delta=%.4f\n", merged.version, merged.value_delta); // 4) Simple ADMM-lite step using existing demo helper for compatibility LocalMarket v1 = {"VenueA", 100.0, 50.0}; LocalMarket v2 = {"VenueB", 150.0, 75.0}; double quotes[2] = { v1.inventory, v2.inventory }; double aggregate = 0.0; admm_lite_step(quotes, 2, &aggregate); printf("DeltaMesh DEMO: aggregated quote = %f\n", aggregate); return 0; }