Skip to content

Commit 1193f3c

Browse files
committed
fix sampled dim posAt method
1 parent 55de003 commit 1193f3c

File tree

4 files changed

+19
-9
lines changed

4 files changed

+19
-9
lines changed

+nix/SampledDimension.m

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
index = index - 1;
2929
end
3030
func_name = strcat(obj.alias, '::position_at');
31-
posAt = nix_mx(func_name, obj.nix_handle, uint64(index));
31+
posAt = nix_mx(func_name, obj.nix_handle, index);
3232
end
3333

3434
function axis = axis(obj, count, startIndex)
@@ -43,4 +43,3 @@
4343
end
4444
end
4545
end
46-

nix_mx.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,8 +322,8 @@ void mexFunction(int nlhs,
322322
.reg("set_samplingInterval", SETTER(double, nix::SampledDimension, samplingInterval))
323323
.reg("set_offset", SETTER(double, nix::SampledDimension, offset))
324324
.reg("set_none_offset", SETTER(const boost::none_t, nix::SampledDimension, offset))
325-
.reg("index_of", &nix::SampledDimension::indexOf)
326-
.reg("position_at", &nix::SampledDimension::positionAt);
325+
.reg("index_of", &nix::SampledDimension::indexOf);
326+
methods->add("SampledDimension::position_at", nixdimensions::sampled_position_at);
327327
methods->add("SampledDimension::axis", nixdimensions::sampled_axis);
328328

329329
classdef<nix::RangeDimension>("RangeDimension", methods)

src/nixdimensions.cc

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,18 @@ namespace nixdimensions {
4141
return sb.array();
4242
}
4343

44+
void sampled_position_at(const extractor &input, infusor &output) {
45+
nix::SampledDimension dim = input.entity<nix::SampledDimension>(1);
46+
const size_t index = static_cast<size_t>(input.num<double>(2));
47+
48+
double pos = dim.positionAt(index);
49+
output.set(0, pos);
50+
}
51+
4452
void sampled_axis(const extractor &input, infusor &output) {
4553
nix::SampledDimension dim = input.entity<nix::SampledDimension>(1);
46-
const mwSize count = static_cast<mwSize>(input.num<double>(2));
47-
const mwSize startIndex = static_cast<mwSize>(input.num<double>(3));
54+
const size_t count = static_cast<size_t>(input.num<double>(2));
55+
const size_t startIndex = static_cast<size_t>(input.num<double>(3));
4856

4957
std::vector<double> a = dim.axis(count, startIndex);
5058
mxArray *axis = mxCreateDoubleMatrix(1, a.size(), mxREAL);
@@ -55,16 +63,16 @@ namespace nixdimensions {
5563

5664
void range_tick_at(const extractor &input, infusor &output) {
5765
nix::RangeDimension dim = input.entity<nix::RangeDimension>(1);
58-
const mwSize index = static_cast<mwSize>(input.num<double>(2));
66+
const size_t index = static_cast<size_t>(input.num<double>(2));
5967

6068
double tick = dim.tickAt(index);
6169
output.set(0, tick);
6270
}
6371

6472
void range_axis(const extractor &input, infusor &output) {
6573
nix::RangeDimension dim = input.entity<nix::RangeDimension>(1);
66-
const mwSize count = static_cast<mwSize>(input.num<double>(2));
67-
const mwSize startIndex = static_cast<mwSize>(input.num<double>(3));
74+
const size_t count = static_cast<size_t>(input.num<double>(2));
75+
const size_t startIndex = static_cast<size_t>(input.num<double>(3));
6876

6977
std::vector<double> a = dim.axis(count, startIndex);
7078
mxArray *axis = mxCreateDoubleMatrix(1, a.size(), mxREAL);
@@ -74,3 +82,4 @@ namespace nixdimensions {
7482
}
7583

7684
} // namespace nixdimensions
85+

src/nixdimensions.h

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

1212
mxArray *describe(const nix::RangeDimension &dim);
1313

14+
void sampled_position_at(const extractor &input, infusor &output);
15+
1416
void sampled_axis(const extractor &input, infusor &output);
1517

1618
void range_tick_at(const extractor &input, infusor &output);

0 commit comments

Comments
 (0)