samples: add Terra samples

source: https://github.com/zdevito/terra/tree/master/tests
This commit is contained in:
Bayu Aldi Yansyah
2016-01-28 11:22:27 +07:00
parent e32a837fb2
commit 9b8b39f444
370 changed files with 11921 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
struct Vec { data : float[3] }
local get = {}
get.x = terra(self : &Vec)
return self.data[0]
end
get.y = macro(function(self)
return `self.data[1]
end)
Vec.metamethods.__entrymissing = macro(function(name,self)
return `[get[name]](&self)
end)
terra bar()
var a = Vec { array(1.f,2.f,3.f) }
a.y = a.y + 1
var pa = &a
return a.x + a.y + pa.x
end
local test = require("test")
test.eq(bar(),5)