loki.transformations.array_indexing.vector_notation

Utilities to manipulate vector notation in array expressions.

Functions

add_explicit_array_dimensions(routine)

Make dimensions of arrays explicit within Subroutine routine.

remove_explicit_array_dimensions(routine[, ...])

Remove colon notation from array dimensions within Subroutine routine.

resolve_vector_notation(routine)

Resolve implicit vector notation by inserting explicit loops

remove_explicit_array_dimensions(routine, calls_only=False)

Remove colon notation from array dimensions within Subroutine routine. E.g., convert two-dimensional array arr2d(:,:) to arr2d or arr3d(:,:,:) to arr3d, but NOT e.g., arr(1,:,:).

Parameters:
  • routine (Subroutine) – The subroutine to check

  • calls_only (bool) – Whether to remove colon notation from array dimensions only from arrays within (inline) calls or all arrays (default: False)

add_explicit_array_dimensions(routine)

Make dimensions of arrays explicit within Subroutine routine. E.g., convert two-dimensional array arr2d to arr2d(:,:) or arr3d to arr3d(:,:,:).

Parameters:

routine (Subroutine) – The subroutine to check

resolve_vector_notation(routine)

Resolve implicit vector notation by inserting explicit loops