|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Phase 25 — implementation of the flat C ABI declared in ca-c-api.h. More...
#include "ca-c-api.h"#include <new>#include <string>#include <ca-engine-utils.H>#include <tpl_ca_engine.H>#include <tpl_ca_lattice.H>#include <tpl_ca_neighborhood.H>#include <tpl_ca_rule.H>#include <tpl_ca_storage.H>Go to the source code of this file.
Classes | |
| struct | aleph_ca_engine |
Macros | |
| #define | ALEPH_CA_C_API_BUILD 1 |
Functions | |
| uint32_t | aleph_ca_api_version_v1 (void) |
| int | aleph_ca_last_error_v1 (void) |
| const char * | aleph_ca_error_message_v1 (void) |
| aleph_ca_engine_t * | aleph_ca_create_gol_engine_v1 (size_t rows, size_t cols) |
| void | aleph_ca_destroy_engine_v1 (aleph_ca_engine_t *engine) |
| int | aleph_ca_extents_v1 (const aleph_ca_engine_t *engine, size_t *rows, size_t *cols) |
| int | aleph_ca_set_cell_v1 (aleph_ca_engine_t *engine, size_t row, size_t col, int32_t value) |
| int | aleph_ca_get_cell_v1 (const aleph_ca_engine_t *engine, size_t row, size_t col, int32_t *out) |
| int | aleph_ca_step_v1 (aleph_ca_engine_t *engine) |
| int | aleph_ca_run_v1 (aleph_ca_engine_t *engine, size_t steps) |
| int | aleph_ca_copy_frame_v1 (const aleph_ca_engine_t *engine, int32_t *out, size_t out_len) |
| size_t | aleph_ca_steps_run_v1 (const aleph_ca_engine_t *engine) |
Phase 25 — implementation of the flat C ABI declared in ca-c-api.h.
Each entry point wraps the C++ engine in a try/catch so that no C++ exception ever crosses the extern "C" boundary; failures are reported through thread-local error state instead.
Definition in file ca-c-api.cc.
| #define ALEPH_CA_C_API_BUILD 1 |
Definition at line 39 of file ca-c-api.cc.
| uint32_t aleph_ca_api_version_v1 | ( | void | ) |
Definition at line 92 of file ca-c-api.cc.
References ALEPH_CA_API_VERSION_MAJOR, ALEPH_CA_API_VERSION_MINOR, and Aleph::blossom_maximum_cardinality_matching().
Referenced by main().
| int aleph_ca_copy_frame_v1 | ( | const aleph_ca_engine_t * | engine, |
| int32_t * | out, | ||
| size_t | out_len | ||
| ) |
Definition at line 247 of file ca-c-api.cc.
References ALEPH_CA_ERR_NULL, ALEPH_CA_ERR_RANGE, ALEPH_CA_OK, Aleph::blossom_maximum_cardinality_matching(), cols, engine, k, out, out_len, and rows.
Referenced by main().
| aleph_ca_engine_t * aleph_ca_create_gol_engine_v1 | ( | size_t | rows, |
| size_t | cols | ||
| ) |
Definition at line 108 of file ca-c-api.cc.
References ALEPH_CA_ERR_ALLOC, ALEPH_CA_ERR_INTERNAL, ALEPH_CA_ERR_RANGE, Aleph::blossom_maximum_cardinality_matching(), cols, Aleph::CA::make_gol_engine(), and rows.
Referenced by main().
| void aleph_ca_destroy_engine_v1 | ( | aleph_ca_engine_t * | engine | ) |
| const char * aleph_ca_error_message_v1 | ( | void | ) |
Definition at line 103 of file ca-c-api.cc.
References Aleph::blossom_maximum_cardinality_matching().
| int aleph_ca_extents_v1 | ( | const aleph_ca_engine_t * | engine, |
| size_t * | rows, | ||
| size_t * | cols | ||
| ) |
Definition at line 143 of file ca-c-api.cc.
References ALEPH_CA_ERR_NULL, ALEPH_CA_OK, Aleph::blossom_maximum_cardinality_matching(), cols, engine, and rows.
Referenced by main().
| int aleph_ca_get_cell_v1 | ( | const aleph_ca_engine_t * | engine, |
| size_t | row, | ||
| size_t | col, | ||
| int32_t * | out | ||
| ) |
Definition at line 178 of file ca-c-api.cc.
References ALEPH_CA_ERR_NULL, ALEPH_CA_ERR_RANGE, ALEPH_CA_OK, Aleph::blossom_maximum_cardinality_matching(), col, engine, out, and row.
Referenced by cell().
| int aleph_ca_last_error_v1 | ( | void | ) |
Definition at line 98 of file ca-c-api.cc.
References Aleph::blossom_maximum_cardinality_matching().
Referenced by main().
| int aleph_ca_run_v1 | ( | aleph_ca_engine_t * | engine, |
| size_t | steps | ||
| ) |
Definition at line 223 of file ca-c-api.cc.
References ALEPH_CA_ERR_INTERNAL, ALEPH_CA_ERR_NULL, ALEPH_CA_OK, Aleph::blossom_maximum_cardinality_matching(), engine, and steps.
| int aleph_ca_set_cell_v1 | ( | aleph_ca_engine_t * | engine, |
| size_t | row, | ||
| size_t | col, | ||
| int32_t | value | ||
| ) |
Definition at line 157 of file ca-c-api.cc.
References ALEPH_CA_ERR_NULL, ALEPH_CA_ERR_RANGE, ALEPH_CA_OK, Aleph::blossom_maximum_cardinality_matching(), col, engine, row, and value.
Referenced by main().
| int aleph_ca_step_v1 | ( | aleph_ca_engine_t * | engine | ) |
Definition at line 199 of file ca-c-api.cc.
References ALEPH_CA_ERR_INTERNAL, ALEPH_CA_ERR_NULL, ALEPH_CA_OK, Aleph::blossom_maximum_cardinality_matching(), and engine.
Referenced by main().
| size_t aleph_ca_steps_run_v1 | ( | const aleph_ca_engine_t * | engine | ) |