Skip to content

Commit f58819c

Browse files
committed
LinkType make_mx_array
1 parent 062af54 commit f58819c

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

src/nixfeature.cc

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,9 @@ namespace nixfeature {
1212

1313
mxArray *describe(const nix::Feature &feat)
1414
{
15-
nix::LinkType link_type = feat.linkType();
16-
uint8_t ltype;
17-
18-
switch (link_type) {
19-
case nix::LinkType::Tagged: ltype = 0; break;
20-
case nix::LinkType::Untagged: ltype = 1; break;
21-
case nix::LinkType::Indexed: ltype = 2; break;
22-
default: throw std::invalid_argument("unkown link type");
23-
}
24-
2515
struct_builder sb({ 1 }, { "id", "linkType" });
2616
sb.set(feat.id());
27-
sb.set(ltype);
17+
sb.set(feat.linkType());
2818
return sb.array();
2919
}
3020

src/utils/mkarray.cc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,22 @@ mxArray* make_mx_array(const nix::NDSize &size)
1313
return res;
1414
}
1515

16+
mxArray* make_mx_array(const nix::LinkType &ltype)
17+
{
18+
uint8_t link_type;
19+
20+
switch (ltype) {
21+
case nix::LinkType::Tagged: link_type = 0; break;
22+
case nix::LinkType::Untagged: link_type = 1; break;
23+
case nix::LinkType::Indexed: link_type = 2; break;
24+
default: throw std::invalid_argument("unkown link type");
25+
}
26+
mxArray *data = mxCreateDoubleScalar(link_type);
27+
28+
return data;
29+
}
30+
31+
1632
mxArray* make_mx_array(const nix::Value &v)
1733
{
1834
mxArray *res;

src/utils/mkarray.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ mxArray *make_mx_array(const nix::Value &value);
2323

2424
mxArray* make_mx_array(const nix::NDSize &size);
2525

26+
mxArray* make_mx_array(const nix::LinkType &ltype);
27+
2628
template<typename T, nix::DataType dt = nix::to_data_type<T>::value>
2729
mxArray* make_mx_array(const std::vector<T> &v) {
2830
DType2 dtype = dtype_nix2mex(dt);

0 commit comments

Comments
 (0)