Giter Club home page Giter Club logo

Comments (2)

zdevito avatar zdevito commented on August 31, 2024

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]);
end

terra create_float_vector (a : float, b : float, c : float, d : float)
return vector(a, b, c, d)
end

terra add (v1 : vector(float, 4), v2 : vector(float, 4)) : vector(float, 4)
var v3 = v1 + v2
check(v1)
check(v2)
return v3
end

c = 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.

wks avatar wks commented on August 31, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.