infer var type when initializer is a number constant
This commit is contained in:
@@ -2,11 +2,11 @@ func main[] : i64
|
||||
// https://brainfuck.org/sierpinski.b
|
||||
let src: str = "++++++++[>+>++++<<-]>++>>+<[-[>>+<<-]+>>]>+[-<<<[->[+[-]+>++>>>-<<]<[<]>>++++++[<<+++++>>-]+<<++.[-]<<]>.>+[>>]>+]"
|
||||
let src_len: i64 = str.len(src)
|
||||
let i: i64 = 0
|
||||
let i = 0
|
||||
|
||||
let memory: ptr = mem.alloc(30000)
|
||||
mem.zero(memory, 30000)
|
||||
let p: i64 = 0
|
||||
let p = 0
|
||||
|
||||
while i < src_len
|
||||
let op: u8 = src[i]
|
||||
@@ -26,7 +26,7 @@ func main[] : i64
|
||||
else if op == '['
|
||||
if !memory[p]
|
||||
i = i + 1
|
||||
let opened: i64 = 0
|
||||
let opened = 0
|
||||
while i < src_len & !(src[i] == ']' & !opened)
|
||||
if src[i] == '['
|
||||
opened = opened + 1
|
||||
@@ -36,7 +36,7 @@ func main[] : i64
|
||||
else if op == ']'
|
||||
if memory[p]
|
||||
i = i - 1
|
||||
let closed: i64 = 0
|
||||
let closed = 0
|
||||
while i >= 0 & !(src[i] == '[' & !closed)
|
||||
if src[i] == ']'
|
||||
closed = closed + 1
|
||||
|
||||
@@ -11,7 +11,7 @@ func main[argc: i64, argv: ptr] : i64
|
||||
dbg.panic("invalid url scheme")
|
||||
|
||||
let url_len: i64 = str.len(url)
|
||||
let host_start: i64 = 7
|
||||
let host_start = 7
|
||||
let i: i64 = host_start
|
||||
while i < url_len
|
||||
if url[i] == '/'
|
||||
@@ -37,7 +37,7 @@ func main[argc: i64, argv: ptr] : i64
|
||||
mem.free(req)
|
||||
|
||||
let header_buf: str = mem.alloc(8192)
|
||||
let header_size: i64 = 0
|
||||
let header_size = 0
|
||||
let found: bool = false
|
||||
let end_index: i64 = -1
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
func main[] : i64
|
||||
let a: i64 = 0
|
||||
let b: i64 = 1
|
||||
let a = 0
|
||||
let b = 1
|
||||
|
||||
while a < 100000
|
||||
io.println_i64(a)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func part1[l1: array, l2: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(l1)
|
||||
out = out + math.abs(array.nth(l1, i) - array.nth(l2, i))
|
||||
@@ -7,7 +7,7 @@ func part1[l1: array, l2: array] : void
|
||||
io.println_i64(out)
|
||||
|
||||
func part2[l1: array, l2: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(l1)
|
||||
out = out + array.nth(l1, i) * alg.count(l2, array.nth(l1, i))
|
||||
|
||||
@@ -14,7 +14,7 @@ func check[report: array] : bool
|
||||
return true
|
||||
|
||||
func part1[data: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(data)
|
||||
if check(array.nth(data, i))
|
||||
@@ -23,7 +23,7 @@ func part1[data: array] : void
|
||||
io.println_i64(out)
|
||||
|
||||
func part2[data: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(data)
|
||||
if check(array.nth(data, i))
|
||||
|
||||
@@ -14,7 +14,7 @@ func check[lines: array, x: i64, y: i64, dx: i64, dy: i64] : bool
|
||||
return true
|
||||
|
||||
func part1[lines: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for x in 0..array.size(lines)
|
||||
for y in 0..str.len(array.nth(lines, x))
|
||||
@@ -38,7 +38,7 @@ func part1[lines: array] : void
|
||||
io.println_i64(out)
|
||||
|
||||
func part2[lines: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for x in 1..array.size(lines)-1
|
||||
for y in 1..str.len(array.nth(lines, x))-1
|
||||
|
||||
@@ -26,7 +26,7 @@ func sort_by_rules[update: array, rules_left: array, rules_right: array] : void
|
||||
swapped = true
|
||||
|
||||
func part1[updates: array, rules_left: array, rules_right: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(updates)
|
||||
let update: array = array.nth(updates, i)
|
||||
@@ -36,7 +36,7 @@ func part1[updates: array, rules_left: array, rules_right: array] : void
|
||||
io.println_i64(out)
|
||||
|
||||
func part2[updates: array, rules_left: array, rules_right: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(updates)
|
||||
let update: array = array.nth(updates, i)
|
||||
|
||||
@@ -44,7 +44,7 @@ func solve[ops: array, e: array] : i64
|
||||
return 0
|
||||
|
||||
func part1[equations: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(equations)
|
||||
out = out + solve(["add", "mul"], array.nth(equations, i))
|
||||
@@ -52,7 +52,7 @@ func part1[equations: array] : void
|
||||
io.println_i64(out)
|
||||
|
||||
func part2[equations: array] : void
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..array.size(equations)
|
||||
out = out + solve(["add", "mul", "concat"], array.nth(equations, i))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
func part1[lines: array] : void
|
||||
let password: i64 = 0
|
||||
let dial: i64 = 50
|
||||
let password = 0
|
||||
let dial = 50
|
||||
|
||||
for i in 0..array.size(lines)
|
||||
let line: str = array.nth(lines, i)
|
||||
@@ -22,8 +22,8 @@ func part1[lines: array] : void
|
||||
io.println_i64(password)
|
||||
|
||||
func part2[lines: array] : void
|
||||
let password: i64 = 0
|
||||
let dial: i64 = 50
|
||||
let password = 0
|
||||
let dial = 50
|
||||
|
||||
for i in 0..array.size(lines)
|
||||
let line: str = array.nth(lines, i)
|
||||
|
||||
@@ -9,7 +9,7 @@ func part1_is_invalid_id[s: str] : bool
|
||||
return str.equal(first, second)
|
||||
|
||||
func part1[ranges: array] : void
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 0..array.size(ranges)
|
||||
let parts: array = array.nth(ranges, i) |> str.split("-")
|
||||
@@ -40,7 +40,7 @@ func part2_is_invalid_id[s: str] : bool
|
||||
return false
|
||||
|
||||
func part2[ranges: array] : void
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 0..array.size(ranges)
|
||||
let parts: array = array.nth(ranges, i) |> str.split("-")
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
func part1[lines: array] : void
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 0..array.size(lines)
|
||||
let line: str = array.nth(lines, i)
|
||||
|
||||
let largest: i64 = 0
|
||||
let largest = 0
|
||||
for j in 0..str.len(line)
|
||||
for k in (j+1)..str.len(line)
|
||||
let s: str = mem.alloc(3)
|
||||
@@ -20,7 +20,7 @@ func part1[lines: array] : void
|
||||
|
||||
// had to cheat this one
|
||||
func part2_rec[bank: str, start: i64, remaining: i64] : i64
|
||||
let largest: i64 = 0
|
||||
let largest = 0
|
||||
let largest_idx: i64 = start
|
||||
let len: i64 = str.len(bank)
|
||||
|
||||
@@ -36,7 +36,7 @@ func part2_rec[bank: str, start: i64, remaining: i64] : i64
|
||||
return largest
|
||||
|
||||
func part2[lines: array] : void
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 0..array.size(lines)
|
||||
let line: str = array.nth(lines, i)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func main[] : i64
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 0..266000
|
||||
if i % 2 != 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func main[] : i64
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 0..1000
|
||||
if i % 5 == 0 | i % 3 == 0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
func main[] : i64
|
||||
let sum: i64 = 0
|
||||
let a: i64 = 0
|
||||
let b: i64 = 1
|
||||
let sum = 0
|
||||
let a = 0
|
||||
let b = 1
|
||||
|
||||
while a < 4000000
|
||||
if a % 2 == 0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
func main[] : i64
|
||||
let n: i64 = 600851475143
|
||||
let f: i64 = 2
|
||||
let n = 600851475143
|
||||
let f = 2
|
||||
|
||||
while f * f <= n
|
||||
if n % f == 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func main[] : i64
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for a in 500..1000
|
||||
for b in 500..1000
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func main[] : i64
|
||||
let out: i64 = 1
|
||||
let out = 1
|
||||
|
||||
for i in 1..21
|
||||
out = math.lcm(out, i)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
func main[] : i64
|
||||
let sum_of_squares: i64 = 0
|
||||
let sum_of_squares = 0
|
||||
for i in 1..101
|
||||
sum_of_squares = sum_of_squares + i * i
|
||||
|
||||
let square_of_sum: i64 = 0
|
||||
let square_of_sum = 0
|
||||
for i in 1..101
|
||||
square_of_sum = square_of_sum + i
|
||||
square_of_sum = square_of_sum * square_of_sum
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
func main[] : i64
|
||||
let found: i64 = 0
|
||||
let found = 0
|
||||
|
||||
let i: i64 = 1
|
||||
let i = 1
|
||||
while true
|
||||
if math.is_prime(i)
|
||||
found = found + 1
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
func main[] : i64
|
||||
let n: str = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450"
|
||||
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
let max: i64 = str.len(n) - 13
|
||||
for i in 0..max
|
||||
let s: i64 = 1
|
||||
let j: i64 = 0
|
||||
let s = 1
|
||||
let j = 0
|
||||
while j < 13
|
||||
s = s * (n[i + j] - '0')
|
||||
j = j + 1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func main[] : i64
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 0..2000000
|
||||
if math.is_prime(i)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func main[] : i64
|
||||
let N: i64 = 20
|
||||
let N = 20
|
||||
|
||||
let grid: array = []
|
||||
array.push(grid, [8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8])
|
||||
@@ -23,7 +23,7 @@ func main[] : i64
|
||||
array.push(grid, [20, 73, 35, 29, 78, 31, 90, 1, 74, 31, 49, 71, 48, 86, 81, 16, 23, 57, 5, 54])
|
||||
array.push(grid, [1, 70, 54, 71, 83, 51, 54, 69, 16, 92, 33, 48, 61, 43, 52, 1, 89, 19, 67, 48])
|
||||
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
|
||||
for i in 0..N-3
|
||||
for j in 0..N-3
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
func num_divisors[n: i64] : i64
|
||||
let end: i64 = math.isqrt(n)
|
||||
|
||||
let out: i64 = 0
|
||||
let out = 0
|
||||
for i in 1..end+1
|
||||
if n % i == 0
|
||||
out = out + 2
|
||||
@@ -11,8 +11,8 @@ func num_divisors[n: i64] : i64
|
||||
return out
|
||||
|
||||
func main[] : i64
|
||||
let n: i64 = 0
|
||||
let i: i64 = 1
|
||||
let n = 0
|
||||
let i = 1
|
||||
while true
|
||||
n = n + i
|
||||
if num_divisors(n) > 500
|
||||
|
||||
@@ -4,15 +4,15 @@ func collatz_num[n: i64] : i64
|
||||
return n * 3 + 1
|
||||
|
||||
func collatz_seq[n: i64]: i64
|
||||
let i: i64 = 1
|
||||
let i = 1
|
||||
while n != 1
|
||||
n = collatz_num(n)
|
||||
i = i + 1
|
||||
return i
|
||||
|
||||
func main[] : i64
|
||||
let max: i64 = 0
|
||||
let max_index: i64 = 0
|
||||
let max = 0
|
||||
let max_index = 0
|
||||
|
||||
for i in 1..1000000
|
||||
let seq: i64 = collatz_seq(i)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
func main[] : i64
|
||||
let n: i64 = 40
|
||||
let r: i64 = 20
|
||||
let out: i64 = 1
|
||||
let n = 40
|
||||
let r = 20
|
||||
let out = 1
|
||||
|
||||
for i in 1..r+1
|
||||
out = out * (n - (r - i)) / i
|
||||
|
||||
@@ -3,7 +3,7 @@ func main[] : i64
|
||||
array.push(n, 1)
|
||||
|
||||
for j in 0..1000
|
||||
let carry: i64 = 0
|
||||
let carry = 0
|
||||
for i in 0..array.size(n)
|
||||
let tmp: i64 = array.nth(n, i) * 2 + carry
|
||||
array.set(n, i, tmp % 10)
|
||||
@@ -12,7 +12,7 @@ func main[] : i64
|
||||
array.push(n, carry % 10)
|
||||
carry = carry / 10
|
||||
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
for i in 0..array.size(n)
|
||||
sum = sum + array.nth(n, i)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ func main[] : i64
|
||||
let s2: array = [3, 6, 6, 8, 8, 7, 7, 9, 8, 8]
|
||||
let s3: array = [0, 0, 6, 6, 5, 5, 5, 7, 6, 6]
|
||||
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 1..10
|
||||
sum = sum + array.nth(s1, i)
|
||||
|
||||
@@ -10,8 +10,8 @@ func days[y: i64, m: i64] : i64
|
||||
return 31
|
||||
|
||||
func main[] : i64
|
||||
let wday: i64 = 0
|
||||
let sun: i64 = 0
|
||||
let wday = 0
|
||||
let sun = 0
|
||||
|
||||
for year in 1901..2001
|
||||
for mon in 1..13
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
func multiply[n: array, x: i64] : void
|
||||
let carry: i64 = 0
|
||||
let carry = 0
|
||||
for i in 0..array.size(n)
|
||||
let prod: i64 = array.nth(n, i) * x + carry
|
||||
array.set(n, i, prod % 10)
|
||||
@@ -14,7 +14,7 @@ func main[] : i64
|
||||
for i in 2..101
|
||||
multiply(n, i)
|
||||
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
for i in 0..array.size(n)
|
||||
sum = sum + array.nth(n, i)
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
func divisors_sum[n: i64] : i64
|
||||
let k: i64 = n
|
||||
let sum: i64 = 1
|
||||
let sum = 1
|
||||
|
||||
for i in 2..k+1
|
||||
let p: i64 = 1
|
||||
let p = 1
|
||||
while k % i == 0
|
||||
p = p * i
|
||||
k = k / i
|
||||
@@ -11,7 +11,7 @@ func divisors_sum[n: i64] : i64
|
||||
return sum - n
|
||||
|
||||
func main[] : i64
|
||||
let sum: i64 = 0
|
||||
let sum = 0
|
||||
|
||||
for i in 2..10000
|
||||
let d: i64 = divisors_sum(i)
|
||||
|
||||
@@ -11,8 +11,8 @@ extern DrawRectangle
|
||||
extern IsKeyDown
|
||||
|
||||
func main[] : i64
|
||||
let x: i64 = 200
|
||||
let y: i64 = 200
|
||||
let x = 200
|
||||
let y = 200
|
||||
|
||||
InitWindow(800, 600, "Hello, World!")
|
||||
SetTargetFPS(60)
|
||||
|
||||
@@ -24,7 +24,7 @@ func print_state[state: array]: void
|
||||
io.println("")
|
||||
|
||||
func main[] : i64
|
||||
let SIZE: i64 = 60
|
||||
let SIZE = 60
|
||||
|
||||
let state: array = []
|
||||
for i in 0..SIZE
|
||||
|
||||
@@ -11,9 +11,9 @@ extern sqlite3_column_text
|
||||
extern sqlite3_finalize
|
||||
|
||||
func main[] : i64
|
||||
let rc: i64 = 0
|
||||
let db: i64 = 0
|
||||
let stmt: i64 = 0
|
||||
let rc = 0
|
||||
let db = 0
|
||||
let stmt = 0
|
||||
|
||||
rc = sqlite3_open("todo.db", @db)
|
||||
if rc
|
||||
|
||||
Reference in New Issue
Block a user