# loki.transformations.array_indexing.tests.test_array_indexing

Functions

`fixture_builder`(tmp_path) |
`test_lower_constant_array_indices`(tmp_path, ...) | Test lowering constant array indices
`test_lower_constant_array_indices_academic`(...) | Test lowering constant array indices for a valid but somewhat academic example ...
`test_shift_to_zero_indexing`(frontend, ignore) | Test shifting array dimensions to zero (or rather shift dimension dim to dim - 1).
`test_transform_flatten_arrays`(tmp_path, ...) | Test flattening or arrays, meaning converting multi-dimensional arrays to one-dimensional arrays including corresponding index arithmetic.
`test_transform_flatten_arrays_call`(tmp_path, ...) | Test flattening or arrays, meaning converting multi-dimensional arrays to one-dimensional arrays including corresponding index arithmetic (for calls).
`test_transform_normalize_array_shape_and_access`(...) | Test normalization of array shape and access, thus changing arrays with start index different than "1" to have start index "1".

fixture_builder(tmp_path)

test_transform_normalize_array_shape_and_access(tmp_path, frontend, start_index)

  Test normalization of array shape and access, thus changing arrays with start index different than “1” to have start index “1”.

  E.g., `x1(5:len)` -> ``x1(1:len-4)`

test_transform_flatten_arrays(tmp_path, frontend, builder, start_index)

  Test flattening or arrays, meaning converting multi-dimensional arrays to one-dimensional arrays including corresponding index arithmetic.

test_shift_to_zero_indexing(frontend, ignore)

  Test shifting array dimensions to zero (or rather shift dimension dim to dim - 1). This does not produce valid Fortran, but is part of the F2C transpilation logic.

test_transform_flatten_arrays_call(tmp_path, frontend, builder, explicit_dimensions)

  Test flattening or arrays, meaning converting multi-dimensional arrays to one-dimensional arrays including corresponding index arithmetic (for calls).

test_lower_constant_array_indices(tmp_path, frontend, recurse_to_kernels, inline_external_only, pass_as_kwarg)

  Test lowering constant array indices

test_lower_constant_array_indices_academic(tmp_path, frontend, recurse_to_kernels, inline_external_only)

  Test lowering constant array indices for a valid but somewhat academic example …

  The transformation is capable to handle that, but let’s just hope we’ll never see something like that out there in the wild …