blob: 793eaa8c0ebb420350079933ac04e3a033ca7416 [file] [log] [blame]
require("import") -- the import fn
import("li_std_pair") -- import code
for k,v in pairs(li_std_pair) do _G[k]=v end -- move to global
intPair = makeIntPair(7, 6)
assert(intPair.first==7 and intPair.second==6)
intPairPtr = makeIntPairPtr(7, 6)
assert(intPairPtr.first==7 and intPairPtr.second==6)
intPairRef = makeIntPairRef(7, 6)
assert(intPairRef.first == 7 and intPairRef.second == 6)
intPairConstRef = makeIntPairConstRef(7, 6)
assert(intPairConstRef.first == 7 and intPairConstRef.second == 6)
-- call fns
assert(product1(intPair) == 42)
assert(product2(intPair) == 42)
assert(product3(intPair) == 42)
-- also use the pointer version
assert(product1(intPairPtr) == 42)
assert(product2(intPairPtr) == 42)
assert(product3(intPairPtr) == 42)
-- or the other types
assert(product1(intPairRef) == 42)
assert(product2(intPairRef) == 42)
assert(product3(intPairRef) == 42)
assert(product1(intPairConstRef) == 42)
assert(product2(intPairConstRef) == 42)
assert(product3(intPairConstRef) == 42)