Skip to content

Commit 756499c

Browse files
committed
[c++/m] Fix DataArray polynomCoefficient
Fixes access to DataArray polynomCoefficient and adds set and setNone methods on the c++ side. Updates the attribute test function on the matlab side.
1 parent 9f42035 commit 756499c

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

nix_mx.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ void mexFunction(int nlhs,
211211
.reg("setNoneUnit", SETTER(const boost::none_t, nix::DataArray, unit))
212212
.reg("setExpansionOrigin", SETTER(double, nix::DataArray, expansionOrigin))
213213
.reg("setNoneExpansionOrigin", SETTER(boost::none_t, nix::DataArray, expansionOrigin))
214+
.reg("setNonePolynomCoefficients", SETTER(boost::none_t, nix::DataArray, polynomCoefficients))
214215
.reg("dimensions", FILTER(std::vector<nix::Dimension>, nix::DataArray, , dimensions))
215216
.reg("appendSetDimension", &nix::DataArray::appendSetDimension)
216217
.reg("appendRangeDimension", &nix::DataArray::appendRangeDimension)
@@ -231,6 +232,7 @@ void mexFunction(int nlhs,
231232
methods->add("DataArray::hasSource", nixdataarray::hasSource);
232233
methods->add("DataArray::sourceCount", nixdataarray::sourceCount);
233234
methods->add("DataArray::dimensionCount", nixdataarray::dimensionCount);
235+
methods->add("DataArray::setPolynomCoefficients", nixdataarray::polynomCoefficients);
234236

235237
classdef<nix::Source>("Source", methods)
236238
.desc(&nixsource::describe)

src/nixdataarray.cc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace nixdataarray {
2121

2222
mxArray *describe(const nix::DataArray &da) {
2323
struct_builder sb({ 1 }, { "id", "type", "name", "definition", "label",
24-
"shape", "unit", "expansionOrigin", "polynom_coefficients" });
24+
"shape", "unit", "expansionOrigin", "polynomCoefficients" });
2525

2626
sb.set(da.id());
2727
sb.set(da.type());
@@ -119,4 +119,10 @@ namespace nixdataarray {
119119
output.set(0, da.dimensionCount());
120120
}
121121

122+
void polynomCoefficients(const extractor &input, infusor &output) {
123+
nix::DataArray da = input.entity<nix::DataArray>(1);
124+
std::vector<double> pc = input.vec<double>(2);
125+
da.polynomCoefficients(pc);
126+
}
127+
122128
} // namespace nixdataarray

src/nixdataarray.h

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

3636
void dimensionCount(const extractor &input, infusor &output);
3737

38+
void polynomCoefficients(const extractor &input, infusor &output);
39+
3840
} // namespace nixdataarray
3941

4042
#endif

tests/TestDataArray.m

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@
7070

7171
da.expansionOrigin = '';
7272
assert(isempty(da.expansionOrigin));
73+
74+
assert(isempty(da.polynomCoefficients));
75+
c = [1.1 1.2];
76+
da.polynomCoefficients = c;
77+
assert(da.polynomCoefficients(1) == c(1))
78+
79+
da.polynomCoefficients = '';
80+
assert(isempty(da.polynomCoefficients));
7381
end
7482

7583
%% Test: Read all data from DataArray

0 commit comments

Comments
 (0)