Skip to content

Commit 2b7a94e

Browse files
authored
[WebNN EP] Make some types clearer (microsoft#16705)
It's a follow-up to address comments in microsoft#16671 (comment) and microsoft#16671 (comment)
1 parent 2ae041f commit 2b7a94e

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

onnxruntime/core/providers/webnn/builders/impl/split_op_builder.cc

+10-10
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ Status SplitOpBuilder::AddToModelBuilderImpl(ModelBuilder& model_builder,
3737
emscripten::val output_array;
3838
std::vector<int64_t> input_shape;
3939
ORT_RETURN_IF_NOT(GetShape(*input_defs[0], input_shape, logger), "Cannot get shape");
40-
const auto rank = input_shape.size();
40+
const size_t rank = input_shape.size();
4141
emscripten::val options = emscripten::val::object();
4242

4343
NodeAttrHelper helper(node);
44-
auto axis = helper.Get("axis", 0);
44+
int32_t axis = helper.Get("axis", 0);
4545
axis = SafeInt<int32_t>(HandleNegativeAxis(axis, rank));
4646
options.set("axis", axis);
4747

@@ -59,13 +59,13 @@ Status SplitOpBuilder::AddToModelBuilderImpl(ModelBuilder& model_builder,
5959
"The size of outputs must be equal to the size of 'split' input.");
6060
} else {
6161
if (helper.HasAttr("num_outputs")) {
62-
const auto num_outputs = helper.Get("num_outputs", 1);
62+
const int32_t num_outputs = helper.Get("num_outputs", 1);
6363
ORT_RETURN_IF_NOT(num_outputs > 0, "The 'num_outputs' must be a positive integer.");
6464
if (input_shape[axis] % num_outputs == 0) {
6565
// The 'num_outputs' evenly divide the dim value at 'axis' specified.
6666
output_array = model_builder.GetBuilder().call<emscripten::val>("split",
6767
input,
68-
static_cast<int32_t>(num_outputs),
68+
num_outputs,
6969
options);
7070
} else {
7171
std::vector<int64_t> mapping_split;
@@ -80,22 +80,22 @@ Status SplitOpBuilder::AddToModelBuilderImpl(ModelBuilder& model_builder,
8080
emscripten::val::array(converted_splits),
8181
options);
8282
}
83-
ORT_RETURN_IF_NOT(output_array["length"].as<int32_t>() == static_cast<int32_t>(num_outputs),
83+
ORT_RETURN_IF_NOT(output_array["length"].as<int32_t>() == num_outputs,
8484
"The size of outputs must be equal to 'num_outputs'.");
8585
} else {
8686
// w/o 'split' input for opset 13
8787
// Refer to https://github.com/microsoft/onnxruntime/blob/a7ad859e3ab60bddfcf2fefa96bfcb550f0fc04c/onnxruntime/core/providers/dml/OperatorAuthorHelper/OperatorHelper.cpp#L984-L989
8888
// split input stream equally across output streams.
8989
const auto& output_defs = node.OutputDefs();
90-
auto output_count = output_defs.size();
90+
const size_t output_count = output_defs.size();
9191
output_array = model_builder.GetBuilder().call<emscripten::val>("split",
9292
input, static_cast<int32_t>(output_count),
9393
options);
94-
ORT_RETURN_IF_NOT(output_array["length"].as<int32_t>() == static_cast<int32_t>(output_count),
94+
ORT_RETURN_IF_NOT(output_array["length"].as<size_t>() == output_count,
9595
"The size of outputs must be equal to the count of output nodes.");
9696
}
9797
}
98-
for (size_t i = 0, count = output_array["length"].as<int32_t>(); i < count; i++) {
98+
for (size_t i = 0, count = output_array["length"].as<size_t>(); i < count; i++) {
9999
model_builder.AddOperand(node.OutputDefs()[i]->Name(), std::move(output_array[i]));
100100
}
101101
return Status::OK();
@@ -118,10 +118,10 @@ bool SplitOpBuilder::IsOpSupportedImpl(const InitializedTensorSet& initializers,
118118
LOGS(logger, VERBOSE) << "Cannot get input's shape.";
119119
return false;
120120
}
121-
const auto rank = input_shape.size();
121+
const size_t rank = input_shape.size();
122122

123123
NodeAttrHelper helper(node);
124-
auto axis = helper.Get("axis", 0);
124+
int32_t axis = helper.Get("axis", 0);
125125
axis = SafeInt<int32_t>(HandleNegativeAxis(axis, rank));
126126

127127
if (input_defs.size() == 2) {

0 commit comments

Comments
 (0)