I am confused by the declarations of member functions performing in-place processing in at::Tensor class (include/ATen/core/TensorBody.h)
These functions (such as resize_, add_ and all functions ending with ) do modify the current object, and return it by reference, e.g.
Tensor & add(const Tensor & other, Scalar alpha=1) const;
They do modify the tensor on which they are called, so they do not convey physical nor logical const-ness, so why have them declared const ?