mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
35 lines
514 B
Perl
35 lines
514 B
Perl
local C = terralib.includecstring [[
|
|
|
|
union testunion {
|
|
int idata;
|
|
float fdata;
|
|
};
|
|
|
|
void setUnionI(union testunion * u){
|
|
u->idata = 3;
|
|
}
|
|
void setUnionF(union testunion * u){
|
|
u->fdata = 4.f;
|
|
}
|
|
|
|
]]
|
|
|
|
terra foo() : int
|
|
var u : C.testunion
|
|
C.setUnionI(&u)
|
|
var f = u.idata
|
|
C.setUnionF(&u)
|
|
var f2 = u.fdata
|
|
return f + f2
|
|
end
|
|
|
|
terra foo2()
|
|
var a : C.testunion
|
|
a.fdata = -3.0
|
|
a.idata = a.idata and not (1 << 31)
|
|
return a.fdata
|
|
end
|
|
|
|
local test = require("test")
|
|
test.eq(foo(),7)
|
|
test.eq(foo2(),3) |