Arrays and tensors¶
xtensor-julia provides two container types wrapping Julia arrays: jlarray and jltensor. They are the counterparts
to xarray and xtensor containers.
jlarray¶
Like xarray, jlarray has a dynamic shape. This means that one can reshape the array on the C++ side and see this
change reflected on the Julia side. jlarray doesn’t make a copy of the shape, but reads the values each time it
is needed. Therefore, if a reference on a jlarray is kept in the C++ code and the corresponding Julia array is then reshaped
on the Julia side, this modification will reflect in the jlarray.
jltensor¶
Like xtensor, jltensor has a static stack-allocated shape. This means that the shape of the Julia array is copied into
the shape of the jltensor upon creation. As a consequence, reshapes are not reflected across languages. However, this drawback
is offset by a more effective iteration and broadcasting.