diff interps/c-intercal/pit/tests/permute.i @ 996:859f9b4339e6

<Gregor> tar xf egobot.tar.xz
author HackBot
date Sun, 09 Dec 2012 19:30:08 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/interps/c-intercal/pit/tests/permute.i	Sun Dec 09 19:30:08 2012 +0000
@@ -0,0 +1,62 @@
+	PLEASE NOTE THIS IS A BACKTRACKING PERMUTATION PROGRAM
+	MAYBE DON'T GIVE UP
+	DO .1 <- #0
+(3)	DO (24) NEXT
+(4)	DO (24) NEXT
+(5)	DO (24) NEXT
+(6)	DO (24) NEXT
+(7)	DO (24) NEXT
+(8)	DO (24) NEXT
+	DO READ OUT .1
+	PLEASE RETRIEVE .1
+	DO READ OUT .1
+	PLEASE RETRIEVE .1
+	DO READ OUT .1
+	PLEASE RETRIEVE .1
+	DO READ OUT .1
+	PLEASE RETRIEVE .1
+	DO READ OUT .1
+	PLEASE RETRIEVE .1
+	DO READ OUT .1
+	DO READ OUT #30
+	DO COME FROM (22)
+(22)	DO GO BACK
+
+(24)   	PLEASE NOTE THIS RETURNS #1 TO #6 ON DIFFERENT BACKTRACKS
+	DO STASH .1
+(26)	DO .1 <- #1
+(27)	DO .1 <- #2
+(28)	DO .1 <- #3
+(29)	DO .1 <- #4
+(30)	DO .1 <- #5
+	DO .1 <- #6
+	DO RESUME #1
+	MAYBE COME FROM (26)
+	PLEASE RESUME #1
+	MAYBE COME FROM (27)
+	PLEASE RESUME #1
+	MAYBE COME FROM (28)
+	PLEASE RESUME #1
+	MAYBE COME FROM (29)
+	PLEASE RESUME #1
+	MAYBE COME FROM (30)
+	PLEASE RESUME #1
+
+	PLEASE NOTE THIS BACKTRACKS IF .1 IS NONUNIQUE IN ITS STASH
+	MAYBE COME FROM (3)
+	MAYBE COME FROM (4)
+	MAYBE COME FROM (5)
+	MAYBE COME FROM (6)
+	MAYBE COME FROM (7)
+	MAYBE COME FROM (8)
+	PLEASE DO .2 <- .1
+	DO .3 <- #1
+	DO COME FROM '"?"!3~.3'~#1"$#2"~#1'$#15
+	PLEASE DO RETRIEVE .1
+	DO ABSTAIN "?"!1~.1'~#1"$#1"~#3 FROM (55)
+	DO REINSTATE (55)
+(55)	DO GO BACK AGAIN
+(87)	PLEASE DO .3 <- '?.1$.2'~#21845
+	DO GO AHEAD
+	DO COME FROM (61)
+(61)	PLEASE DO GO BACK