Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
path: root/subex/main_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'subex/main_test.go')
-rw-r--r--subex/main_test.go7
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)