skip to content
==> tests/golden.c <==
1/* @ajax/mesh-abi-control-block's functions against vectors the Rust computed (alpha-rust-mesh, the same inputs). */
2#include "mesh/abi/control_block.h"
3#include "mesh/check.h"
4
5#include <stdint.h>
6
7int main(void) {
8    CHECK_U(mesh_prog_ctl(0), 8192u);
9    CHECK_U(mesh_prog_ctl(1), 10240u);
10    CHECK_U(mesh_prog_ctl(2), 12288u);
11    CHECK_U(mesh_prog_ctl(7), 22528u);
12    CHECK_U(mesh_prog_ctl(31), 71680u);
13    CHECK_U(mesh_prog_ctl(32), 73728u);
14    CHECK_U(mesh_run_req_next(0u, false), 2u);
15    CHECK_U(mesh_run_req_next(0u, true), 3u);
16    CHECK_U(mesh_run_req_next(1u, false), 2u);
17    CHECK_U(mesh_run_req_next(1u, true), 3u);
18    CHECK_U(mesh_run_req_next(2u, false), 4u);
19    CHECK_U(mesh_run_req_next(2u, true), 5u);
20    CHECK_U(mesh_run_req_next(3u, false), 4u);
21    CHECK_U(mesh_run_req_next(3u, true), 5u);
22    CHECK_U(mesh_run_req_next(4294967294u, false), 0u);
23    CHECK_U(mesh_run_req_next(4294967294u, true), 1u);
24    CHECK_U(mesh_run_req_next(4294967295u, false), 0u);
25    CHECK_U(mesh_run_req_next(4294967295u, true), 1u);
26    return mesh_check_done();
27}