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,33 @@
local offsetinbytescache = {}
function offsetinbytes(structtype,key)
local typetable = offsetinbytescache[structtype] or {}
local value = typetable[key]
if value then
return value
end
offsetinbytescache[structtype] = typetable
local terra offsetcalc() : int
var a : &structtype = [&structtype](0)
return [&int8](&a.[key]) - [&int8](a)
end
local result = offsetcalc()
typetable[key] = result
return result
end
struct A { a : int8, c : int8, b : int }
terra foo()
return 4LL
end
local test = require("test")
test.eq(offsetinbytes(A,"b"),4)