Skip to content

Commit c2dbe91

Browse files
committed
A few cosmetic changes
Bound indexer functions Set initial values for various out arguments, following C++ API's lead
1 parent 946b285 commit c2dbe91

File tree

14 files changed

+203
-112
lines changed

14 files changed

+203
-112
lines changed

src/Lua/arrayfire/funcs/Backends.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ static const struct luaL_Reg backend_funcs[] = {
99
{
1010
lua_settop(L, 0); // (clear)
1111

12-
int backends;
12+
int backends = 0;
1313

1414
af_err err = af_get_available_backends(&backends);
1515

@@ -23,7 +23,7 @@ static const struct luaL_Reg backend_funcs[] = {
2323
{
2424
lua_settop(L, 0); // (clear)
2525

26-
unsigned num;
26+
unsigned num = 1;
2727

2828
af_err err = af_get_backend_count(&num);
2929

@@ -37,7 +37,7 @@ static const struct luaL_Reg backend_funcs[] = {
3737
{
3838
lua_settop(L, 1); // arr
3939

40-
af_backend backend;
40+
af_backend backend = (af_backend)0;
4141

4242
af_err err = af_get_backend_id(&backend, GetArray(L, 1));
4343

src/Lua/arrayfire/funcs/IO.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ static const struct luaL_Reg io_funcs[] = {
5353
{
5454
lua_settop(L, 2); // filename, key
5555

56-
int index;
56+
int index = -1;
5757

5858
af_err err = af_read_array_key_check(&index, S(L, 1), S(L, 2));
5959

@@ -67,7 +67,7 @@ static const struct luaL_Reg io_funcs[] = {
6767
{
6868
lua_settop(L, 4); // key, arr, filename, append
6969

70-
int index;
70+
int index = -1;
7171

7272
af_err err = af_save_array(&index, S(L, 1), GetArray(L, 2), S(L, 3), B(L, 4));
7373

src/Lua/arrayfire/funcs/LinearAlgebra.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ static const struct luaL_Reg linear_algebra_funcs[] = {
2929

3030
af_array * arr_ud = NewArray(L);// arr, is_upper, arr_ud
3131

32-
int info;
32+
int info = 0;
3333

3434
af_err err = af_cholesky(arr_ud, &info, GetArray(L, 1), B(L, 2));
3535

@@ -42,7 +42,7 @@ static const struct luaL_Reg linear_algebra_funcs[] = {
4242
{
4343
lua_settop(L, 2); // arr, is_upper
4444

45-
int info;
45+
int info = 0;
4646

4747
af_err err = af_cholesky_inplace(&info, GetArray(L, 1), B(L, 2));
4848

@@ -63,7 +63,7 @@ static const struct luaL_Reg linear_algebra_funcs[] = {
6363
{
6464
lua_settop(L, 4); // arr, type, p, q
6565

66-
double norm;
66+
double norm = 0.0;
6767

6868
af_err err = af_norm(&norm, GetArray(L, 1), Arg<af_norm_type>(L, 2), D(L, 3), D(L, 4));
6969

@@ -80,7 +80,7 @@ static const struct luaL_Reg linear_algebra_funcs[] = {
8080
{
8181
lua_settop(L, 2); // arr, tol
8282

83-
unsigned rank;
83+
unsigned rank = 0;
8484

8585
af_err err = af_rank(&rank, GetArray(L, 1), D(L, 2));
8686

src/Lua/arrayfire/graphics/Draw.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class LuaCell {
1717

1818
mCell.row = I(L, -4);
1919
mCell.col = I(L, -3);
20-
mCell.title = !lua_isnil(L, -1) ? lua_tostring(L, -2) : NULL;
20+
mCell.title = !lua_isnil(L, -1) ? lua_tostring(L, -2) : nullptr;
2121
mCell.cmap = Arg<af_colormap>(L, -1);
2222

2323
lua_pop(L, 4); // ...

src/Lua/arrayfire/methods/AssignIndex.cpp

Lines changed: 64 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -87,22 +87,77 @@ static const struct luaL_Reg assign_index_methods[] = {
8787
ASSIGN(assign_gen, dim_t, af_index_t),
8888
ASSIGN(assign_seq, unsigned, af_seq),
8989
#if AF_API_VERSION >= 32
90-
// AFAPI af_err af_create_indexers(af_index_t** indexers);
90+
{
91+
"af_create_indexers", [](lua_State * L)
92+
{
93+
lua_settop(L, 0); // (empty)
94+
95+
af_index_t ** indexer_ud = NewIndexer(L); // indexer_ud
96+
97+
af_err err = af_create_indexers(indexer_ud);
98+
99+
return PushErr(L, err); // err, indexer_ud
100+
}
101+
},
91102
#endif
92103
INDEX(index, unsigned, af_seq),
93104
INDEX(index_gen, dim_t, af_index_t),
94105
OUTIN2_ARG(lookup, unsigned),
95106
#if AF_API_VERSION >= 32
96-
// AFAPI af_err af_release_indexers(af_index_t* indexers);
97-
// AFAPI af_err af_set_array_indexer(af_index_t* indexer, const af_array idx, const dim_t dim);
98-
// AFAPI af_err af_set_seq_indexer(af_index_t* indexer, const af_seq* idx, const dim_t dim, const bool is_batch);
99-
// AFAPI af_err af_set_seq_param_indexer(af_index_t* indexer, const double begin, const double end, const double step, const dim_t dim, const bool is_batch);
100-
#endif
107+
{
108+
"af_release_indexers", [](lua_State * L)
109+
{
110+
lua_settop(L, 1); // indexer
111+
112+
af_err err = af_release_indexers(GetIndexer(L, 1));
113+
114+
ClearIndexer(L, 1);
115+
116+
lua_pushinteger(L, err);// indexer, err
117+
118+
return 1;
119+
}
120+
}, {
121+
"af_set_array_indexer", [](lua_State * L)
122+
{
123+
lua_settop(L, 3); // indexer, idx, dim
124+
125+
af_err err = af_set_array_indexer(GetIndexer(L, 1), GetArray(L, 2), Arg<dim_t>(L, 3));
101126

102-
#if 0
103-
AFAPI af_seq af_make_seq(double begin, double end, double step);
127+
lua_pushinteger(L, err);// indexer, idx, dim, err
128+
129+
return 1;
130+
}
131+
}, {
132+
"af_set_seq_indexer", [](lua_State * L)
133+
{
134+
lua_settop(L, 4); // indexer, idx, dim, is_batch
135+
lua_pushvalue(L, 2);// indexer, idx, dim, is_batch, idx
136+
137+
af_seq seq;
138+
139+
Load(L, seq);
140+
141+
af_err err = af_set_seq_indexer(GetIndexer(L, 1), &seq, Arg<dim_t>(L, 3), B(L, 4));
142+
143+
lua_pushinteger(L, err);// indexer, idx, dim, is_batch, idx, err
144+
145+
return 1;
146+
}
147+
}, {
148+
"af_set_seq_param_indexer", [](lua_State * L)
149+
{
150+
lua_settop(L, 6); // indexer, begin, end, step, dim, is_batch
151+
152+
af_err err = af_set_seq_param_indexer(GetIndexer(L, 1), D(L, 2), D(L, 3), D(L, 4), Arg<dim_t>(L, 5), B(L, 6));
153+
154+
lua_pushinteger(L, err);// indexer, begin, end, step, dim, is_batch, err
155+
156+
return 1;
157+
}
158+
},
104159
#endif
105-
// TODO^^^^
160+
106161
{ NULL, NULL }
107162
};
108163

src/Lua/arrayfire/methods/Constructor.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ template<typename T, af_err(*func)(af_array *, const T, const unsigned, const di
88
{
99
lua_settop(L, 3); // val, ndims, dims
1010

11-
LuaDimsAndType dims(L, 2, true);// Just dims, no type
11+
LuaDims dims(L, 2);
1212

1313
af_array * arr_ud = NewArray(L);// val, ndims, dims, arr_ud
1414

@@ -26,7 +26,7 @@ static const struct luaL_Reg constructor_funcs[] = {
2626
{
2727
lua_settop(L, 4); // val, ndims, dims, type
2828

29-
LuaDimsAndType dt(L, 2);
29+
LuaDims dt(L, 2);
3030

3131
af_array * arr_ud = NewArray(L);// val, ndims, dims, type, arr_ud
3232

@@ -39,7 +39,7 @@ static const struct luaL_Reg constructor_funcs[] = {
3939
{
4040
lua_settop(L, 5); // real, imag, ndims, dims, type
4141

42-
LuaDimsAndType dt(L, 3);
42+
LuaDims dt(L, 3);
4343

4444
af_array * arr_ud = NewArray(L);// real, imag, ndims, dims, type, arr_ud
4545

@@ -57,7 +57,7 @@ static const struct luaL_Reg constructor_funcs[] = {
5757
{
5858
lua_settop(L, 0); // (empty)
5959

60-
uintl seed;
60+
uintl seed = 0;
6161

6262
af_err err = af_get_seed(&seed);
6363

@@ -72,8 +72,8 @@ static const struct luaL_Reg constructor_funcs[] = {
7272
{
7373
lua_settop(L, 5); // ndims, dims, t_ndims, tdims, type
7474

75-
LuaDimsAndType dims(L, 1, false); // Just dims, no type
76-
LuaDimsAndType t_dt(L, 3);
75+
LuaDims dims(L, 1);
76+
LuaDims t_dt(L, 3);
7777

7878
af_array * arr_ud = NewArray(L);// ndims, dims, t_ndims, tdims, type, arr_ud
7979

@@ -89,15 +89,14 @@ static const struct luaL_Reg constructor_funcs[] = {
8989
"af_range", [](lua_State * L)
9090
{
9191
lua_settop(L, 4); // ndims, dims, seq_dim, type
92-
lua_insert(L, 3); // ndims, dims, type, seq_dim
9392

94-
LuaDimsAndType dt(L, 1);
93+
LuaDims dt(L, 1);
9594

96-
af_array * arr_ud = NewArray(L);// data, ndims, dims, type, arr_ud
95+
af_array * arr_ud = NewArray(L);// ndims, dims, seq_dim, type, arr_ud
9796

98-
af_err err = af_range(arr_ud, dt.GetNDims(), dt.GetDims(), lua_tointeger(L, 4), dt.GetType());
97+
af_err err = af_range(arr_ud, dt.GetNDims(), dt.GetDims(), I(L, 3), Arg<af_dtype>(L, 4));
9998

100-
return PushErr(L, err); // data, ndims, dims, type, err, arr_ud
99+
return PushErr(L, err); // ndims, dims, seq_dim, type, err, arr_ud
101100
}
102101
}, {
103102
"af_set_seed", [](lua_State * L)

src/Lua/arrayfire/methods/Create.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ template<af_err (*func)(af_array *, const void *, unsigned int, const dim_t *, a
77
{
88
lua_settop(L, 4); // data, ndims, dims, type
99

10-
LuaDimsAndType dt(L, 2);
10+
LuaDims dt(L, 2);
1111

1212
af_array * arr_ud = NewArray(L);// data, ndims, dims, type, arr_ud
1313

14-
LuaData arr(L, 1, dt.GetType());
14+
LuaData arr(L, 1, 4);
1515

16-
af_err err = func(arr_ud, arr.GetData(), dt.GetNDims(), dt.GetDims(), Arg<af_dtype>(L, 4));
16+
af_err err = func(arr_ud, arr.GetData(), dt.GetNDims(), dt.GetDims(), arr.GetType());
1717

1818
return PushErr(L, err); // data, ndims, dims, type, err, arr_ud
1919
}

src/Lua/arrayfire/methods/Device.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ template<af_err (*func)(void **, const dim_t)> int Alloc (lua_State * L)
66
{
77
lua_settop(L, 1); // bytes
88

9-
void * ptr;
9+
void * ptr = nullptr;
1010

1111
af_err err = func(&ptr, Arg<dim_t>(L, 1));
1212

@@ -31,7 +31,7 @@ template<typename T, af_err (*func)(T *)> int GetInt (lua_State * L)
3131
{
3232
lua_settop(L, 0); // (empty)
3333

34-
T value;
34+
T value = 0;
3535

3636
af_err err = func(&value);
3737

@@ -118,7 +118,7 @@ static const struct luaL_Reg device_methods[] = {
118118
{
119119
lua_settop(L, 1); // arr
120120

121-
void * ptr;
121+
void * ptr = nullptr;
122122

123123
af_err err = af_get_device_ptr(&ptr, GetArray(L, 1));
124124

0 commit comments

Comments
 (0)