|
|
- fn potato do sys.trace return end
-
- fn print_n_utf8_impl do
- start:
- -1 + swap print_utf8
- dup start swap jump_if
- end
-
- fn potato2 do
- start:
- -1 + dup
- 65 print_utf8 10 print_utf8
- start swap jump_if
- end
-
- fn potato3 do
- start:
- -1 + dup
- 66 print_utf8 10 print_utf8
- start swap jump_if
- end
-
- # Encrypts things by doing `(v + add_key) % modulo_key`
- #
- # @param array An array of ints representing a string
- # @param add_key Should be lower than the add key
- # @param modulo_key Should ke higher than all the codepoints of the array
- #
- # array add_key modulo_key
- fn encrypt do
- 3 pluck array.size
- # array add_key modulo_key index
- loop:
- 1 - dup 5 pluck
- # array add_key modulo_key index index array
- array.index
- # array add_key modulo_key index v
- 4 pluck +
- # array add_key modulo_key index (v + add_key)
- 3 pluck %
- # array add_key modulo_key index ((v + add_key) % modulo_key)
- 2 pluck
- # array add_key modulo_key index ((v + add_key) % modulo_key) index
- 6 pluck
- # array add_key modulo_key index ((v + add_key) % modulo_key) index array
- array.set
- # array add_key modulo_key index
- dup 0 != loop jump_if drop drop drop drop
- end
-
- # Prints a string as an array of ints
- #
- # @param array An array of ints representing a string
- #
- # array
- fn string.dump do
- dup array.size 0
- # array end it
- 91 print_utf8
- 32 print_utf8
- loop:
- dup
- # array end it it
- 4 pluck
- # array end it it array
- array.index print_int
- 32 print_utf8
- 1 +
- # array end it
- 2 pluck 2 pluck > loop jump_if
- # array end it
- 93 print_utf8
- drop drop drop
- end
|