Something went wrong. Try again.
Jam Programming Language jamlang.org
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123const { assert } = import("test");
const Game = struct { score: u8, board: [10]u8,};
fn writeThenReadU8() u8 { var arr: [10]u8 = [0; 10]; arr[0] = 42; arr[1] = 7; arr[9] = 200; return arr[0];}
fn secondElement() u8 { var arr: [10]u8 = [0; 10]; arr[0] = 42; arr[1] = 7; arr[9] = 200; return arr[1];}
fn lastElement() u8 { var arr: [10]u8 = [0; 10]; arr[0] = 42; arr[1] = 7; arr[9] = 200; return arr[9];}
fn sumFirstFour() u32 { var arr: [10]u32 = [0; 10]; arr[0] = 100; arr[1] = 200; arr[2] = 300; arr[3] = 400; return arr[0] + arr[1];}
fn dynamicIndexRead() u8 { var arr: [4]u8 = [10, 20, 30, 40]; var i: u8 = 2; return arr[i];}
fn loopFillThenRead() u8 { var arr: [16]u8 = [0; 16]; for i in 0:16 { arr[i] = i; } return arr[7];}
fn loopFillThenReadLast() u8 { var arr: [16]u8 = [0; 16]; for i in 0:16 { arr[i] = i; } return arr[15];}
fn structFieldArrayWrite() u8 { var g: Game = Game { score: 0, board: [0; 10] }; g.board[3] = 42; return g.board[3];}
fn structFieldArrayLoopFill() u8 { var g: Game = Game { score: 0, board: [0; 10] }; for i in 0:10 { g.board[i] = i; } return g.board[7];}
fn structFieldArrayMixed() u8 { var g: Game = Game { score: 99, board: [0; 10] }; g.board[0] = g.score; g.board[1] = 50; return g.board[0];}
tfn writeThenReadU8() { assert(writeThenReadU8(), 42);}
tfn secondElement() { assert(secondElement(), 7);}
tfn lastElement() { assert(lastElement(), 200);}
tfn sumFirstFour() { assert(sumFirstFour(), 300);}
tfn dynamicIndexRead() { assert(dynamicIndexRead(), 30);}
tfn loopFillThenRead() { assert(loopFillThenRead(), 7);}
tfn loopFillThenReadLast() { assert(loopFillThenReadLast(), 15);}
tfn structFieldArrayWrite() { assert(structFieldArrayWrite(), 42);}
tfn structFieldArrayLoopFill() { assert(structFieldArrayLoopFill(), 7);}
tfn structFieldArrayMixed() { assert(structFieldArrayMixed(), 99);}