diff options
author | Charlie Stanton <charlie@shtanton.xyz> | 2025-10-18 09:41:50 +0100 |
---|---|---|
committer | Charlie Stanton <charlie@shtanton.xyz> | 2025-10-18 09:41:50 +0100 |
commit | b2ce005d227a10a9b8a6f5362c87a0e34ee07acc (patch) | |
tree | 454c7dcafc02759b90d083ab1d72c0bbfb65f578 /subex/main_test.go | |
parent | 62aa738be03845f96c40edde087ea39693b27e4e (diff) | |
download | stred-go-b2ce005d227a10a9b8a6f5362c87a0e34ee07acc.tar |
Diffstat (limited to 'subex/main_test.go')
-rw-r--r-- | subex/main_test.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/subex/main_test.go b/subex/main_test.go index 3855dbc..938e5cb 100644 --- a/subex/main_test.go +++ b/subex/main_test.go @@ -58,7 +58,7 @@ func TestSubexMain(t *testing.T) { }, { // Keep only odd numbers between 0 and 10 - subex: `([c5*2+1]|(.>_))*`, + subex: `([0<=n&n<=10&n%2=1]|(.>_))*`, input: []walk.Value { walk.NumberValue(0), walk.NumberValue(1), @@ -82,7 +82,8 @@ func TestSubexMain(t *testing.T) { }, }, { - subex: "r*([pi*2]%a`<a/2`)|([pi*2+1]%b`<b*3+1`)", + // Collatz + subex: "[1]*[n%2=0:n,n/2]|[n%2=1:n,n*3+1]", input: []walk.Value { walk.NumberValue(32), }, @@ -500,7 +501,7 @@ func doCollatzTest(t *testing.T, init int) { } last := init - lexer := NewStringRuneReader("r*([pi*2]%a`<a/2`|[pi*2+1]%b`<b*3+1`)") + lexer := NewStringRuneReader("[1]*([n%2=0:n,n/2]|[n%2=1&n>1:n,n*3+1])") ast := Parse(lexer) transducer := CompileTransducer(ast) |