Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Function name too general #8457

Closed
tonyyang-svail opened this issue Feb 16, 2018 · 0 comments · Fixed by #8458
Closed

Function name too general #8457

tonyyang-svail opened this issue Feb 16, 2018 · 0 comments · Fixed by #8458
Assignees

Comments

@tonyyang-svail
Copy link

tonyyang-svail commented Feb 16, 2018

We have the function name OutputSize in multiple header files. And they are all in the namescope paddle::operator.

./framework/operator.h:    PADDLE_ENFORCE_LT(j, OutputSize(out));
./framework/operator.h:  size_t OutputSize(const std::string& name) const {
./operators/conv_op.cc:    output_shape.push_back(OutputSize(in_dims[i + 2], filter_dims[i + 2],
./operators/conv_op.h:inline int OutputSize(int input_size, int filter_size, int dilation,
./operators/im2sequence_op.cc:    int output_height = OutputSize(img_height, kernels[0], paddings[0],
./operators/im2sequence_op.cc:        OutputSize(img_width, kernels[1], paddings[1], paddings[3], strides[1]);
./operators/im2sequence_op.h:inline int OutputSize(int input_size, int filter_size, int padding_0,
./operators/im2sequence_op.h:    int output_height = OutputSize(img_height, kernels[0], paddings[0],
./operators/im2sequence_op.h:    int output_height = OutputSize(img_height, kernels[0], paddings[0],
./operators/im2sequence_op.h:        OutputSize(img_width, kernels[1], paddings[1], paddings[3], strides[1]);
./operators/im2sequence_op.h:        OutputSize(img_width, kernels[1], paddings[1], paddings[3], strides[1]);
./operators/pool_op.cc:int OutputSizePool(int input_size, int filter_size, int padding, int stride) {
./operators/pool_op.cc:        OutputSizePool(in_x_dims[i + 2], ksize[i], paddings[i], strides[i]));
./operators/pool_with_index_op.cc:inline int OutputSizeMaxPool(int input_size, int filter_size, int padding,
./operators/pool_with_index_op.cc:      output_shape.push_back(OutputSizeMaxPool(in_x_dims[i + 2], ksize[i],
./operators/unpool_op.cc:int OutputSize(int input_size, int ksize, int padding, int stride) {
./operators/unpool_op.cc:          OutputSize(in_x_dims[i + 2], ksize[i], paddings[i], strides[i]));

And some of them even have the same function signature. For example:

inline int OutputSize(int input_size, int filter_size, int padding_0,
int padding_1, int stride) {

inline int OutputSize(int input_size, int filter_size, int dilation,
int padding, int stride) {

This could lead to subtle bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant