code wiki / _hdl_build / nx_racing.nx

nx_racing.nx

buildroot/runtime/_hdl_build/nx_racing.nx

3020 B62 linesdepth 3pulls 3 transitivereach 1 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_racing.nx -- the RACING role = COMPETE (operator: don't miss the novel roles; this was the one missing capability). Racing RUNS the head-to-head 'tracks' -- our solution vs a competitor (gcc/clang/ the field) on the same task -- and COLLECTS both results. It does NOT judge: that is the REFEREE's verb (JUDGE). Folding Racing into Referee was the v1 roster error -- COMPETE and JUDGE are distinct. Racing's job: set up a FAIR track (same input + same oracle for both), run both competitors, record the two results, and hand them to the Referee. RACI: Racing produces RESULTS; Referee renders the VERDICT; Examiner self-grades; Critic counters; Auditor audits -- five distinct evaluation verbs. LAWS: struct-free, integer-only. Composes nx_role_audit (ra_distinct). license_tier: ORIGINAL

dependencies 2 imports · 1 importers

nx_role_audit.nx nx_syscalls.nx nx_racing.nx nx_roster_full_test.nx

imports: nx_role_audit.nxnx_syscalls.nx

imported by: nx_roster_full_test.nx

structs

none

consts

12const RC_PENDING: i64 = 0
13const RC_RAN: i64 = 1
41const RC_VERB_COMPETE: i64 = 12 // Racing
42const RC_VERB_JUDGE: i64 = 5 // Referee

functions

17func rc_track_fair(our_input: i64, their_input: i64, our_oracle: i64, their_oracle: i64) -> i64
called by 1: main
25func rc_run_track(our_metric: i64, their_metric: i64, fair: i64, out: *i64) -> i64
called by 1: main
33func rc_all_ran(status: *i64, n: i64) -> i64
43func rc_separate_from_referee() -> i64 { return ra_distinct(RC_VERB_COMPETE, RC_VERB_JUDGE) }
called by 1: main calls 1: ra_distinct
47func rc_hands_to_referee(judged_by_verb: i64) -> i64
called by 1: main
54func rc_tracks_we_lead(our: *i64, their: *i64, fair: *i64, n: i64) -> i64
called by 1: main