Skip to content

Commit 062af54

Browse files
committed
LinkType extractor
1 parent 97577a8 commit 062af54

File tree

5 files changed

+17
-22
lines changed

5 files changed

+17
-22
lines changed

src/nixgen.cc

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,4 @@ mxArray *dataset_read_all(const nix::DataSet &da) {
3939
return data;
4040
}
4141

42-
nix::LinkType get_link_type(uint8_t ltype)
43-
{
44-
nix::LinkType link_type;
45-
46-
switch (ltype) {
47-
case 0: link_type = nix::LinkType::Tagged; break;
48-
case 1: link_type = nix::LinkType::Untagged; break;
49-
case 2: link_type = nix::LinkType::Indexed; break;
50-
default: throw std::invalid_argument("unkown link type");
51-
}
52-
53-
return link_type;
54-
}
55-
5642
} // namespace nixgen

src/nixgen.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ namespace nixgen {
88

99
mxArray *dataset_read_all(const nix::DataSet &da);
1010

11-
nix::LinkType get_link_type(uint8_t ltype);
12-
1311
} // namespace nixgen
1412

1513
#endif

src/nixmultitag.cc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ namespace nixmultitag {
4040
{
4141
nix::MultiTag currObj = input.entity<nix::MultiTag>(1);
4242

43-
nix::LinkType link_type = nixgen::get_link_type(input.num<uint8_t>(3));
44-
45-
nix::Feature newFeat = currObj.createFeature(input.str(2), link_type);
43+
nix::Feature newFeat = currObj.createFeature(input.str(2), input.ltype(3));
4644
output.set(0, handle(newFeat));
4745
}
4846

src/nixtag.cc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,7 @@ namespace nixtag {
4242
{
4343
nix::Tag currObj = input.entity<nix::Tag>(1);
4444

45-
nix::LinkType link_type = nixgen::get_link_type(input.num<uint8_t>(3));
46-
47-
nix::Feature newFeat = currObj.createFeature(input.str(2), link_type);
45+
nix::Feature newFeat = currObj.createFeature(input.str(2), input.ltype(3));
4846
output.set(0, handle(newFeat));
4947
}
5048

src/utils/arguments.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,21 @@ class extractor : public argument_helper<const mxArray> {
106106
return dtype_mex2nix(array[pos]);
107107
}
108108

109+
nix::LinkType ltype(size_t pos) const
110+
{
111+
const uint8_t link_type = num<uint8_t>(pos);
112+
nix::LinkType retLinkType;
113+
114+
switch (link_type) {
115+
case 0: retLinkType = nix::LinkType::Tagged; break;
116+
case 1: retLinkType = nix::LinkType::Untagged; break;
117+
case 2: retLinkType = nix::LinkType::Indexed; break;
118+
default: throw std::invalid_argument("unkown link type");
119+
}
120+
121+
return retLinkType;
122+
}
123+
109124
bool logical(size_t pos) const {
110125
check_arg_type(pos, nix::DataType::Bool);
111126

0 commit comments

Comments
 (0)