skip to content
==> tests/golden.c <==
1/* @ajax/mesh-abi-view-pipedemo's functions against vectors the Rust computed (alpha-rust-mesh, the same inputs). */
2#include "mesh/abi/view_pipedemo.h"
3#include "mesh/check.h"
4
5#include <stdint.h>
6
7int main(void) {
8    { uint32_t m[16], want[16] = {0u, 0u, 0u, 0u, 3469435737u, 1421290948u, 3668113455u, 1619968666u, 3866791173u, 1818646384u, 4065468891u, 2017324102u, 4264146609u, 2216001820u, 167857031u, 2414679538u}; mesh_pipedemo_msg(0u, UINT64_C(0), 0u, m); for (int i = 0; i < 16; i++) CHECK_U(m[i], want[i]); }
9    { uint32_t m[16] = {0u, 0u, 0u, 0u, 3469435737u, 1421290948u, 3668113455u, 1619968666u, 3866791173u, 1818646384u, 4065468891u, 2017324102u, 4264146609u, 2216001820u, 167857031u, 2414679538u}, d[8], want[8] = {709729990u, 1005096827u, 2931623650u, 2820212904u, 3233174510u, 3589445445u, 54259119u, 2347742402u}; mesh_pipedemo_sha256d_msg(m, d); for (int i = 0; i < 8; i++) CHECK_U(d[i], want[i]); }
10    { uint32_t m[16] = {0u, 0u, 0u, 0u, 3469435737u, 1421290948u, 3668113455u, 1619968666u, 3866791173u, 1818646384u, 4065468891u, 2017324102u, 4264146609u, 2216001820u, 167857031u, 2414679538u}, g[12], want[12] = {0u, 0u, 0u, 0u, 709729990u, 1005096827u, 2931623650u, 2820212904u, 3233174510u, 3589445445u, 54259119u, 2347742402u}; mesh_pipedemo_digest(m, 0u, g); for (int i = 0; i < 12; i++) CHECK_U(g[i], want[i]); }
11    { uint32_t m[16] = {0u, 0u, 0u, 0u, 3469435737u, 1421290948u, 3668113455u, 1619968666u, 3866791173u, 1818646384u, 4065468891u, 2017324102u, 4264146609u, 2216001820u, 167857031u, 2414679538u}, g[12], want[12] = {0u, 0u, 0u, 256u, 709729990u, 1005096827u, 2931623650u, 2820212904u, 3233174510u, 3589445445u, 54259119u, 2347742402u}; mesh_pipedemo_digest(m, 256u, g); for (int i = 0; i < 12; i++) CHECK_U(g[i], want[i]); }
12    CHECK_U(mesh_pipedemo_payload(0u, 4), 3469435737u);
13    CHECK_U(mesh_pipedemo_payload(0u, 5), 1421290948u);
14    CHECK_U(mesh_pipedemo_payload(0u, 6), 3668113455u);
15    CHECK_U(mesh_pipedemo_payload(0u, 7), 1619968666u);
16    CHECK_U(mesh_pipedemo_payload(0u, 8), 3866791173u);
17    CHECK_U(mesh_pipedemo_payload(0u, 9), 1818646384u);
18    CHECK_U(mesh_pipedemo_payload(0u, 10), 4065468891u);
19    CHECK_U(mesh_pipedemo_payload(0u, 11), 2017324102u);
20    CHECK_U(mesh_pipedemo_payload(0u, 12), 4264146609u);
21    CHECK_U(mesh_pipedemo_payload(0u, 13), 2216001820u);
22    CHECK_U(mesh_pipedemo_payload(0u, 14), 167857031u);
23    CHECK_U(mesh_pipedemo_payload(0u, 15), 2414679538u);
24    { uint32_t m[16], want[16] = {7u, 2u, 1u, 1u, 4096063022u, 2047918233u, 4294740740u, 2246595951u, 198451162u, 2445273669u, 397128880u, 2643951387u, 595806598u, 2842629105u, 794484316u, 3041306823u}; mesh_pipedemo_msg(7u, UINT64_C(4294967298), 1u, m); for (int i = 0; i < 16; i++) CHECK_U(m[i], want[i]); }
25    { uint32_t m[16] = {7u, 2u, 1u, 1u, 4096063022u, 2047918233u, 4294740740u, 2246595951u, 198451162u, 2445273669u, 397128880u, 2643951387u, 595806598u, 2842629105u, 794484316u, 3041306823u}, d[8], want[8] = {1227165531u, 1645736558u, 4080612562u, 1586557363u, 3710103006u, 2471307204u, 1147146001u, 3411586282u}; mesh_pipedemo_sha256d_msg(m, d); for (int i = 0; i < 8; i++) CHECK_U(d[i], want[i]); }
26    { uint32_t m[16] = {7u, 2u, 1u, 1u, 4096063022u, 2047918233u, 4294740740u, 2246595951u, 198451162u, 2445273669u, 397128880u, 2643951387u, 595806598u, 2842629105u, 794484316u, 3041306823u}, g[12], want[12] = {7u, 2u, 1u, 1u, 1227165531u, 1645736558u, 4080612562u, 1586557363u, 3710103006u, 2471307204u, 1147146001u, 3411586282u}; mesh_pipedemo_digest(m, 0u, g); for (int i = 0; i < 12; i++) CHECK_U(g[i], want[i]); }
27    { uint32_t m[16] = {7u, 2u, 1u, 1u, 4096063022u, 2047918233u, 4294740740u, 2246595951u, 198451162u, 2445273669u, 397128880u, 2643951387u, 595806598u, 2842629105u, 794484316u, 3041306823u}, g[12], want[12] = {7u, 2u, 1u, 257u, 1227165531u, 1645736558u, 4080612562u, 1586557363u, 3710103006u, 2471307204u, 1147146001u, 3411586282u}; mesh_pipedemo_digest(m, 256u, g); for (int i = 0; i < 12; i++) CHECK_U(g[i], want[i]); }
28    CHECK_U(mesh_pipedemo_payload(7u, 4), 4096063022u);
29    CHECK_U(mesh_pipedemo_payload(7u, 5), 2047918233u);
30    CHECK_U(mesh_pipedemo_payload(7u, 6), 4294740740u);
31    CHECK_U(mesh_pipedemo_payload(7u, 7), 2246595951u);
32    CHECK_U(mesh_pipedemo_payload(7u, 8), 198451162u);
33    CHECK_U(mesh_pipedemo_payload(7u, 9), 2445273669u);
34    CHECK_U(mesh_pipedemo_payload(7u, 10), 397128880u);
35    CHECK_U(mesh_pipedemo_payload(7u, 11), 2643951387u);
36    CHECK_U(mesh_pipedemo_payload(7u, 12), 595806598u);
37    CHECK_U(mesh_pipedemo_payload(7u, 13), 2842629105u);
38    CHECK_U(mesh_pipedemo_payload(7u, 14), 794484316u);
39    CHECK_U(mesh_pipedemo_payload(7u, 15), 3041306823u);
40    { uint32_t m[16], want[16] = {4294967295u, 4294967295u, 4294967295u, 2u, 3260773958u, 1212629169u, 3459451676u, 1411306887u, 3658129394u, 1609984605u, 3856807112u, 1808662323u, 4055484830u, 2007340041u, 4254162548u, 2206017759u}; mesh_pipedemo_msg(4294967295u, UINT64_C(18446744073709551615), 2u, m); for (int i = 0; i < 16; i++) CHECK_U(m[i], want[i]); }
41    { uint32_t m[16] = {4294967295u, 4294967295u, 4294967295u, 2u, 3260773958u, 1212629169u, 3459451676u, 1411306887u, 3658129394u, 1609984605u, 3856807112u, 1808662323u, 4055484830u, 2007340041u, 4254162548u, 2206017759u}, d[8], want[8] = {2200466271u, 3664171646u, 1299924718u, 1761254264u, 1210684333u, 1227006414u, 4154316208u, 987238893u}; mesh_pipedemo_sha256d_msg(m, d); for (int i = 0; i < 8; i++) CHECK_U(d[i], want[i]); }
42    { uint32_t m[16] = {4294967295u, 4294967295u, 4294967295u, 2u, 3260773958u, 1212629169u, 3459451676u, 1411306887u, 3658129394u, 1609984605u, 3856807112u, 1808662323u, 4055484830u, 2007340041u, 4254162548u, 2206017759u}, g[12], want[12] = {4294967295u, 4294967295u, 4294967295u, 2u, 2200466271u, 3664171646u, 1299924718u, 1761254264u, 1210684333u, 1227006414u, 4154316208u, 987238893u}; mesh_pipedemo_digest(m, 0u, g); for (int i = 0; i < 12; i++) CHECK_U(g[i], want[i]); }
43    { uint32_t m[16] = {4294967295u, 4294967295u, 4294967295u, 2u, 3260773958u, 1212629169u, 3459451676u, 1411306887u, 3658129394u, 1609984605u, 3856807112u, 1808662323u, 4055484830u, 2007340041u, 4254162548u, 2206017759u}, g[12], want[12] = {4294967295u, 4294967295u, 4294967295u, 258u, 2200466271u, 3664171646u, 1299924718u, 1761254264u, 1210684333u, 1227006414u, 4154316208u, 987238893u}; mesh_pipedemo_digest(m, 256u, g); for (int i = 0; i < 12; i++) CHECK_U(g[i], want[i]); }
44    CHECK_U(mesh_pipedemo_payload(4294967295u, 4), 3260773958u);
45    CHECK_U(mesh_pipedemo_payload(4294967295u, 5), 1212629169u);
46    CHECK_U(mesh_pipedemo_payload(4294967295u, 6), 3459451676u);
47    CHECK_U(mesh_pipedemo_payload(4294967295u, 7), 1411306887u);
48    CHECK_U(mesh_pipedemo_payload(4294967295u, 8), 3658129394u);
49    CHECK_U(mesh_pipedemo_payload(4294967295u, 9), 1609984605u);
50    CHECK_U(mesh_pipedemo_payload(4294967295u, 10), 3856807112u);
51    CHECK_U(mesh_pipedemo_payload(4294967295u, 11), 1808662323u);
52    CHECK_U(mesh_pipedemo_payload(4294967295u, 12), 4055484830u);
53    CHECK_U(mesh_pipedemo_payload(4294967295u, 13), 2007340041u);
54    CHECK_U(mesh_pipedemo_payload(4294967295u, 14), 4254162548u);
55    CHECK_U(mesh_pipedemo_payload(4294967295u, 15), 2206017759u);
56    { uint32_t m[16], want[16] = {123456u, 4106810228u, 229u, 3u, 3345114009u, 1296969220u, 3543791727u, 1495646938u, 3742469445u, 1694324656u, 3941147163u, 1893002374u, 4139824881u, 2091680092u, 43535303u, 2290357810u}; mesh_pipedemo_msg(123456u, UINT64_C(987654321012), 3u, m); for (int i = 0; i < 16; i++) CHECK_U(m[i], want[i]); }
57    { uint32_t m[16] = {123456u, 4106810228u, 229u, 3u, 3345114009u, 1296969220u, 3543791727u, 1495646938u, 3742469445u, 1694324656u, 3941147163u, 1893002374u, 4139824881u, 2091680092u, 43535303u, 2290357810u}, d[8], want[8] = {3887679330u, 3977116818u, 1863808533u, 863933500u, 1670136128u, 1741747026u, 959475053u, 1052517006u}; mesh_pipedemo_sha256d_msg(m, d); for (int i = 0; i < 8; i++) CHECK_U(d[i], want[i]); }
58    { uint32_t m[16] = {123456u, 4106810228u, 229u, 3u, 3345114009u, 1296969220u, 3543791727u, 1495646938u, 3742469445u, 1694324656u, 3941147163u, 1893002374u, 4139824881u, 2091680092u, 43535303u, 2290357810u}, g[12], want[12] = {123456u, 4106810228u, 229u, 3u, 3887679330u, 3977116818u, 1863808533u, 863933500u, 1670136128u, 1741747026u, 959475053u, 1052517006u}; mesh_pipedemo_digest(m, 0u, g); for (int i = 0; i < 12; i++) CHECK_U(g[i], want[i]); }
59    { uint32_t m[16] = {123456u, 4106810228u, 229u, 3u, 3345114009u, 1296969220u, 3543791727u, 1495646938u, 3742469445u, 1694324656u, 3941147163u, 1893002374u, 4139824881u, 2091680092u, 43535303u, 2290357810u}, g[12], want[12] = {123456u, 4106810228u, 229u, 259u, 3887679330u, 3977116818u, 1863808533u, 863933500u, 1670136128u, 1741747026u, 959475053u, 1052517006u}; mesh_pipedemo_digest(m, 256u, g); for (int i = 0; i < 12; i++) CHECK_U(g[i], want[i]); }
60    CHECK_U(mesh_pipedemo_payload(123456u, 4), 3345114009u);
61    CHECK_U(mesh_pipedemo_payload(123456u, 5), 1296969220u);
62    CHECK_U(mesh_pipedemo_payload(123456u, 6), 3543791727u);
63    CHECK_U(mesh_pipedemo_payload(123456u, 7), 1495646938u);
64    CHECK_U(mesh_pipedemo_payload(123456u, 8), 3742469445u);
65    CHECK_U(mesh_pipedemo_payload(123456u, 9), 1694324656u);
66    CHECK_U(mesh_pipedemo_payload(123456u, 10), 3941147163u);
67    CHECK_U(mesh_pipedemo_payload(123456u, 11), 1893002374u);
68    CHECK_U(mesh_pipedemo_payload(123456u, 12), 4139824881u);
69    CHECK_U(mesh_pipedemo_payload(123456u, 13), 2091680092u);
70    CHECK_U(mesh_pipedemo_payload(123456u, 14), 43535303u);
71    CHECK_U(mesh_pipedemo_payload(123456u, 15), 2290357810u);
72    return mesh_check_done();
73}