Skip to content

C/C++ API Reference (Doxygen)

The authoritative reference for the C/C++ core is generated by Doxygen from the SNEPPX_* Doxygen comments in include/neural_core/ (Layers 1 & 4 of the commenting standard).

Regenerating locally

No CI is involved (see GitHub Pages deployment). From the repository root, on any platform with Doxygen 1.9+ installed:

# Use the root Doxyfile (output directory = docs/api/doxygen)
doxygen Doxyfile
# (or on POSIX)
doxygen Doxyfile

The generated site is written to docs/api/doxygen/html/index.html.

If you get doxygen: command not found, install it: - Windows (vcpkg): vcpkg install doxygen then run from the vcpkg toolchain prompt. - Linux (apt): sudo apt-get install doxygen graphviz - macOS: brew install doxygen graphviz

graphviz (dot) is optional but enables caller/callee graphs.

Configuration

The active configuration is the repo-root Doxyfile, which:

  • sets SEARCHENGINE = YES (client-side JS search is embedded in the output),
  • extracts from include/neural_core/kernel, …/security, …/architecture, plus kernel/ and security/ implementation directories,
  • emits HTML only (GENERATE_LATEX = NO),
  • defines __cplusplus and SNEPPX_STATIC_INLINE=static inline for clean macro expansion.

An alias lives at docs/doxygen/Doxyfile (outputs to docs/doxygen/output/html); the root file is canonical.

Browsing the reference

The rendered Doxygen tree is embedded below. Use the search box in the navigation sidebar to jump to any SNEPPX_* symbol.

If the frame does not render, open the reference directly: doxygen/html/index.html.

Key headers to start from

Header Surface
neural_core/security/cryptographic_primitives_bundle.h Umbrella header for S0 crypto
neural_core/kernel/tensor.h SNEPPXTensor, SNEPPXDtype, device enums
neural_core/kernel/autodiff.h SNEPPXTape, SNEPPXVariable
neural_core/kernel/optimizer.h SNEPPXOptimizer (SGD/AdamW/Lion/LAMB)
neural_core/kernel/distributed.h SNEPPXDistributedConfig, collectives
neural_core/kernel/checkpoint.h SNEPPX_CheckpointCoord, fault tolerance
neural_core/kernel/profiler.h SNEPPX_Profiler, SNEPPX_KernelTimer
neural_core/architecture/neural_programming_engine.h NPE VM + 32-opcode ISA
neural_core/architecture/adversarial_robustness_certification.h ARC config + guards
neural_core/architecture/hierarchical_state_space.h HSS config + forward
neural_core/architecture/sparse_expert_routing.h SER config + router
neural_core/architecture/federated_memory.h FM controller + sync

Python ↔ C mapping

Python (SneppX_ALG) C core
Tensor SNEPPXTensor (kernel/tensor/)
Module, Linear SNEPPXModule (kernel/arch/)
Optimizer, AdamW SNEPPXOptimizer (kernel/optimizer/)
HSSModel SNEPPXHSSModel (algorithms/hss/core/)
SERModel SNEPPXSERModel (algorithms/ser/core/)
ARCModel SNEPPXARCLayer (algorithms/arc/core/)
NPEModel SNEPPXNPEVM (algorithms/npe/core/)
FMModel FMController (algorithms/fm/core/)
QuantizedLinear SNEPPXQuantizedLinear (kernel/quantization/)
CheckpointWriter SNEPPX_CheckpointWriter (fs/format/)
Profiler SNEPPX_Profiler (kernel/profiler.c)

Every Python wrapper checks _HAS_C_BACKEND and either delegates to the _neural_engine_bridge (C) module or raises / falls back to a pure-NumPy stub. See the Python API for the full class reference.