pslang/examples/test.psl

31 lines
533 B
PSL

// Vectors
struct vec2:
x : f32
y : f32
func add(a : vec2, b : vec2) -> vec2:
return vec2(a.x + b.x, a.y + b.y)
mut v = add(vec2(1.0, 2.0), vec2(3.0, 4.0))
v.x = -v.x
v.y = -v.y
// Factorial
func factorial(n : u32) -> u32:
if n == 0u:
return 1u
return n * factorial(n - 1u)
let factorial10 = factorial(10u)
// Fibonacci
func fib(n : u32) -> u32:
// Slow implementation with
// exponentially-growing recursion tree
if n == 0u | n == 1u:
return n // base case
return fib(n - 1u) + fib(n - 2u)
let fib10 = fib(10u)