array indexing, nested array literals
This commit is contained in:
@@ -1,10 +1,5 @@
|
||||
func main[] : I64
|
||||
let xs: Array = [5849, 3869, 2859]
|
||||
Array.push(xs, 5242)
|
||||
Array.push(xs, 6533)
|
||||
Array.push(xs, 4574)
|
||||
|
||||
for i in 0..Array.size(xs)
|
||||
xs
|
||||
|> Array.nth(i)
|
||||
|> print_i64()
|
||||
let xs: Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
|
||||
for x in 0..3
|
||||
for y in 0..3
|
||||
print_i64(xs[y][x])
|
||||
@@ -8,16 +8,16 @@ func do_quicksort[arr: Array, low: I64, high: I64] : I64
|
||||
do_quicksort(arr, i + 1, high)
|
||||
|
||||
func partition[arr: Array, low: I64, high: I64] : I64
|
||||
let pivot: I64 = Array.nth(arr, high)
|
||||
let pivot: I64 = arr[high]
|
||||
let i: I64 = low - 1
|
||||
for j in (low)..high
|
||||
if Array.nth(arr, j) <= pivot
|
||||
if arr[j] <= pivot
|
||||
i = i + 1
|
||||
let temp: I64 = Array.nth(arr, i)
|
||||
Array.set(arr, i, Array.nth(arr, j))
|
||||
let temp: I64 = arr[i]
|
||||
Array.set(arr, i, arr[j])
|
||||
Array.set(arr, j, temp)
|
||||
let temp: I64 = Array.nth(arr, i + 1)
|
||||
Array.set(arr, i + 1, Array.nth(arr, high))
|
||||
let temp: I64 = arr[i + 1]
|
||||
Array.set(arr, i + 1, arr[high])
|
||||
Array.set(arr, high, temp)
|
||||
return i + 1
|
||||
|
||||
@@ -25,10 +25,10 @@ func main[] : I64
|
||||
let arr: Array = [340, 252, 352, 117, 650, 652, 322, 175, 714, 268, 725, 664]
|
||||
|
||||
for i in 0..Array.size(arr)
|
||||
print_i64(Array.nth(arr, i))
|
||||
print_i64(arr[i])
|
||||
print("------------")
|
||||
|
||||
quicksort(arr)
|
||||
|
||||
for i in 0..Array.size(arr)
|
||||
print_i64(Array.nth(arr, i))
|
||||
print_i64(arr[i])
|
||||
@@ -1,14 +1,15 @@
|
||||
func rule110_step[state: Array] : Array
|
||||
let new_state: Array = []
|
||||
let state_len: I64 = Array.size(state)
|
||||
|
||||
for i in 0..Array.size(state)
|
||||
for i in 0..state_len
|
||||
let left: Bool = false
|
||||
if i - 1 >= 0
|
||||
left = Array.nth(state, i-1)
|
||||
let center: Bool = Array.nth(state, i)
|
||||
left = state[i-1]
|
||||
let center: Bool = state[i]
|
||||
let right: Bool = false
|
||||
if i + 1 < Array.size(state)
|
||||
right = Array.nth(state, i+1)
|
||||
if i + 1 < state_len
|
||||
right = state[i+1]
|
||||
|
||||
Array.push(new_state, !((!left && !center && !right) || (left && !center && !right) || (left && center && right)))
|
||||
|
||||
@@ -17,7 +18,7 @@ func rule110_step[state: Array] : Array
|
||||
func to_str[state: Array]: String
|
||||
let out: String = malloc(Array.size(state))
|
||||
for i in 0..Array.size(state)
|
||||
if Array.nth(state, i)
|
||||
if state[i]
|
||||
String.set(out, i, '#')
|
||||
else
|
||||
String.set(out, i, ' ')
|
||||
|
||||
Reference in New Issue
Block a user