Comments (2)
This looks like it might be a LuaJIT issue. I sent an email to the mailing
list to find out.
On Sat, Sep 7, 2013 at 12:44 PM, Crystal Lemire [email protected]:
Whenever I pass more than one terra vector object to a terra function from
lua scope, the 2nd vector does not seem to escape properly. Example code
below. Notice that when lua variable d is passed to the terra add function,its components are all set to 0, when it should be {4.3, 3.2, 2.1, 1.9}.
local clib = terralib.includec("stdio.h")
terra check (v : vector(float, 4))
clib.printf("contents: %f %f %f %f\n", v[0], v[1], v[2], v[3]);
endterra create_float_vector (a : float, b : float, c : float, d : float)
return vector(a, b, c, d)
endterra add (v1 : vector(float, 4), v2 : vector(float, 4)) : vector(float, 4)
var v3 = v1 + v2
check(v1)
check(v2)
return v3
endc = create_float_vector(1.5, 2.5, 3.5, 4.5)
d = create_float_vector(4.3, 3.2, 2.1, 1.9)print("vectors initialized to...")
check(c)
check(d)print()
print("argument values:")
e = add(c, d)print()
print("result:")
check(e)—
Reply to this email directly or view it on GitHubhttps://github.com//issues/47
.
from terra.
This bug still exists as in 2 Oct 2014.
I cloned Terra commit 02219d4
This program reproduces the problem. The second argument is always 0.
floatX4 = vector(float, 4)
C = terralib.includec("stdio.h")
w = terralib.new(floatX4, {1, 2, 3, 4})
x = terralib.new(floatX4, {5, 6, 7, 8})
terra addvf_print(a: floatX4, b: floatX4): floatX4
C.printf("a = %f %f %f %f\n", a[0], a[1], a[2], a[3])
C.printf("b = %f %f %f %f\n", b[0], b[1], b[2], b[3]) -- always b = 0 0 0 0
var c = a + b
C.printf("c = %f %f %f %f\n", c[0], c[1], c[2], c[3])
return c
end
addvf_print(w, x)
addvf_print(x, w)
from terra.
Related Issues (20)
- SPIRV Support HOT 2
- Building and running Terra on Termux HOT 6
- cconv_more.t fails on Apple M2 with N=10 HOT 1
- "CommandLine Error: Option 'help-list' registered more than once!" HOT 4
- Miscompilation with LLVM > 6 HOT 5
- Tracking LLVM removal blockers for future LLVM deprecations
- Select native target triple and architecture
- Restore CI test for dynamic linking
- constantinits.t breaks on LLVM 17 Linux HOT 2
- Can't define function over std.Vector(StructType) without building the type first HOT 1
- hello.t and a few other tests broken on llvm15 HOT 4
- question: using Terra to transpile C to Rust/Go HOT 2
- sprintf standard library core dump HOT 4
- Windows CI on Github Actions is breaking nondeterministically HOT 1
- Compile time regression in compile_time_array.t on LLVM 17
- Nondeterministic failure in fakeasm.t in LLVM 17 on Linux
- Known issues in LLVM 17
- Cannot find system headers on macos apple silicon
- Terra is looking for Windows maintainers
- setinlined not working in JIT mode on LLVM >= 17 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terra.