code wiki / _hdl_build / _doc_cas_authored.nx

_doc_cas_authored.nx source

↩ module page · 14 lines · 708 B

1// AUTHORED BY THE NISHI BUILDER (doc-cas template) -- content-addressed document ID via sha256, bits-up 2import "nx_sha256.nx" 3func doc_cas_id(bytes: *u8, n: i64, out32: *u8) -> i64 { return sha256_digest(bytes, n, out32) } 4func main() -> i64 { 5 let id1: *u8=sys_mmap(32); let id2: *u8=sys_mmap(32); let id3: *u8=sys_mmap(32) 6 doc_cas_id("Hello Reader" as *u8, 12, id1) 7 doc_cas_id("Hello Reader" as *u8, 12, id2) 8 doc_cas_id("Hello Readez" as *u8, 12, id3) 9 var same: i64=1; var i: i64=0; while i<32 { if id1[i]!=id2[i] { same=0 } i=i+1 } 10 var diff: i64=0; i=0; while i<32 { if id1[i]!=id3[i] { diff=1 } i=i+1 } 11 if same==1 { if diff==1 { sys_exit(0) } } 12 sys_exit(1) 13 return 1 14}