ublas
ublas copied to clipboard
Use function call operator for indexing instead of at
Discussed in https://github.com/boostorg/ublas/discussions/141
Originally posted by bassoy October 21, 2021
Right now index accessing is performed using the at
member function in tensor e.g. in tensor_dynamic, see also in example.
for(auto i = 0u; i < B.size(0); ++i)
for(auto j = 0u; j < B.size(1); ++j)
C.at(i,j) = std::conj(B.at(i,j));
Is it possible to overload operator()
for this purpose? Note that operator()
will also be used for creating subtensors.
for(auto i = 0u; i < B.size(0); ++i)
for(auto j = 0u; j < B.size(1); ++j)
C(i,j) = std::conj(B(i,j));
We could also use operator[]
for accessing single indices and multi-indices.
for(auto i = 0u; i < B.size(0); ++i)
for(auto j = 0u; j < B.size(1); ++j)
C[i,j] = std::conj(B[i,j]);
This will be again closer to a Matlab or Octave or R notation.
The implementation should follow https://github.com/boostorg/ublas/discussions/141#discussioncomment-2141497
I want to work for the proposal here. Can you guide me through this?