From 8b7956b965147407274f062799200db54eb50d3b Mon Sep 17 00:00:00 2001 From: romir kulshrestha Date: Thu, 5 Mar 2026 14:47:01 +0100 Subject: run script --- oryxc/build.rs | 20 +++++++++++++++++--- run.zsh | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) create mode 100755 run.zsh diff --git a/oryxc/build.rs b/oryxc/build.rs index 59233c5..7216935 100644 --- a/oryxc/build.rs +++ b/oryxc/build.rs @@ -174,8 +174,18 @@ fn generate_code( writeln!(f, "/* Autogenerated – DO NOT EDIT */").unwrap(); writeln!(f).unwrap(); - writeln!(f, "static {upper_name}_L1: [u16; {}] = {level1:?};", level1.len()).unwrap(); - writeln!(f, "static {upper_name}_L2: [u64; {}] = {level2:?};", level2.len()).unwrap(); + writeln!( + f, + "static {upper_name}_L1: [u16; {}] = {level1:?};", + level1.len() + ) + .unwrap(); + writeln!( + f, + "static {upper_name}_L2: [u64; {}] = {level2:?};", + level2.len() + ) + .unwrap(); writeln!(f, "#[inline]").unwrap(); writeln!(f, "pub fn {pred_name}(c: char) -> bool {{").unwrap(); writeln!(f, "\tlet cp = c as usize;").unwrap(); @@ -184,7 +194,11 @@ fn generate_code( if u64s_per_block == 1 { writeln!(f, "\tunsafe {{ return ({upper_name}_L2.get_unchecked(blki) & (1 << in_blk_offset_p)) != 0; }}").unwrap(); } else { - writeln!(f, "\tlet wordi = (blki * {u64s_per_block}) + (in_blk_offset_p >> 6);").unwrap(); + writeln!( + f, + "\tlet wordi = (blki * {u64s_per_block}) + (in_blk_offset_p >> 6);" + ) + .unwrap(); writeln!(f, "\tlet biti = in_blk_offset_p & 0x3F;").unwrap(); writeln!(f, "\tunsafe {{ return (*{upper_name}_L2.get_unchecked(wordi) & (1 << biti)) != 0; }}").unwrap(); } diff --git a/run.zsh b/run.zsh new file mode 100755 index 0000000..be3704c --- /dev/null +++ b/run.zsh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -uo pipefail + +BINARY=./target/debug/oryx +COUNT=${COUNT:-100} + +success=0 +fail=0 + +for ((i=1; i<=COUNT; i++)); do + printf '%3d: ' "$i" + if "$BINARY" "$@"; then + echo success + ((success++)) + else + echo fail + ((fail++)) + fi +done + +echo "Done: $success succeeded, $fail failed" \ No newline at end of file -- cgit v1.2.3