Skip to content

Commit b0dcd76

Browse files
committed
Adding C definitions from device.h and array.h
1 parent b6210b4 commit b0dcd76

File tree

6 files changed

+134
-728
lines changed

6 files changed

+134
-728
lines changed

arrayfire.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
require('arrayfire.lib')
2+
require('arrayfire.util')
3+
require('arrayfire.array')
24
require('arrayfire.device')
5+
36
return af

arrayfire/array.lua

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
require('arrayfire.lib')
2+
require('class')
3+
local ffi = require( "ffi" )
4+
5+
local funcs = {}
6+
funcs[30] = [[
7+
af_err af_create_array(af_array *arr, const void * const data,
8+
const unsigned ndims, const dim_t * const dims, const af_dtype type);
9+
10+
af_err af_create_handle(af_array *arr, const unsigned ndims,
11+
const dim_t * const dims, const af_dtype type);
12+
13+
af_err af_copy_array(af_array *arr, const af_array in);
14+
15+
af_err af_write_array(af_array arr, const void *data, const size_t bytes, af_source src);
16+
17+
af_err af_get_data_ptr(void *data, const af_array arr);
18+
19+
af_err af_release_array(af_array arr);
20+
21+
af_err af_retain_array(af_array *out, const af_array in);
22+
23+
af_err af_get_elements(dim_t *elems, const af_array arr);
24+
25+
af_err af_get_type(af_dtype *type, const af_array arr);
26+
af_err af_get_dims(dim_t *d0, dim_t *d1, dim_t *d2, dim_t *d3,
27+
const af_array arr);
28+
29+
af_err af_get_numdims(unsigned *result, const af_array arr);
30+
31+
af_err af_is_empty (bool *result, const af_array arr);
32+
33+
af_err af_is_scalar (bool *result, const af_array arr);
34+
35+
af_err af_is_row (bool *result, const af_array arr);
36+
af_err af_is_column (bool *result, const af_array arr);
37+
38+
af_err af_is_vector (bool *result, const af_array arr);
39+
af_err af_is_complex (bool *result, const af_array arr);
40+
41+
af_err af_is_real (bool *result, const af_array arr);
42+
af_err af_is_double (bool *result, const af_array arr);
43+
af_err af_is_single (bool *result, const af_array arr);
44+
af_err af_is_realfloating (bool *result, const af_array arr);
45+
af_err af_is_floating (bool *result, const af_array arr);
46+
af_err af_is_integer (bool *result, const af_array arr);
47+
af_err af_is_bool (bool *result, const af_array arr);
48+
af_err af_eval(af_array in);
49+
]]
50+
51+
funcs[31] = [[
52+
af_err af_get_data_ref_count(int *use_count, const af_array in);
53+
]]
54+
55+
56+
funcs[34] = [[
57+
af_err af_eval_multiple(const int num, af_array *arrays);
58+
af_err af_set_manual_eval_flag(bool flag);
59+
af_err af_get_manual_eval_flag(bool *flag);
60+
af_err af_is_sparse (bool *result, const af_array arr);
61+
]]
62+
63+
af.lib.cdef(funcs)

arrayfire/device.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
require('arrayfire.lib')
2+
local ffi = require( "ffi" )
3+
ffi.cdef[[ int af_info(void); ]]
4+
25
af.info = function()
3-
af.lib.af_info()
6+
af.clib.af_info()
47
end

0 commit comments

Comments
 (0)