Purpose
Some deterministic network and routing experiments need a graph model without allocating and storing every edge.
Execution model
Implicit network operations
For supported power-of-two node counts, nodes and links are derived from network size and a 64-bit state. The API provides inverse in_map/in_unmap, dimension-based implicit neighbors, deterministic in_next routing, and reversible in_step/in_prev event transitions. The graph is never materialized.
Memory and verification
The C17 library has no heap allocation, recursion, dependencies or mutable global state. C invariant tests and Python reference-oracle tests cross-check randomized mapping and routing behavior. ImplicitNet remains experimental and makes no cryptographic security or universally optimal routing claim.
Typical use
Quick start
#include "implicit_net.h"
in_state state;
if (!in_init(&state, 1024, UINT64_C(0x1234))) return 1;
uint32_t next_hop = in_next(17, 900, 1024, state);Repository evidence
- README documents C17 with no heap allocation, recursion, dependencies or mutable global state
- Supported sizes are N=2^w from 4 through 65,536; in_map/in_unmap are inverses and in_step/in_prev reverse with the same event
- CTest includes C invariant tests and an optional Python reference-oracle cross-check with randomized consistency and routing checks
Limits and status
- Valid network size must be a power of two in [4, 65,536]
- Invalid value-returning calls use UINT32_MAX; state-changing calls report failure
- Experimental library; no cryptographic security or universally optimal routing claim