G.3.3 Inspecting arrays

For the semantics of the parameter ARRY see Conventions of the arrays API. For the semantics of the parameter ARRYS see Conventions of the arrays API.

Function: mbfl_multi_array_equal_size_var SIZE_RV ARRYS

Return true if all the index arrays in ARRYS have the same number of slots; otherwise return false. If ARRYS is empty or contains a single array: return true. When successful: store the number of slots in the result variable SIZE_RV; otherwise leave SIZE_RV untouched.

mbfl_declare_index_array_varref(ARRY1, (a b c d e))
mbfl_declare_index_array_varref(ARRY2, (A B C D E))
mbfl_declare_index_array_varref(ARRY3, (. . . . .))
mbfl_declare_index_array_varref(ARRYS, (_(ARRY1) _(ARRY2) _(ARRY3)))
mbfl_declare_integer_varref(SIZE)

mbfl_multi_array_equal_size_var _(SIZE) _(ARRYS)  ⇒ 0
"$SIZE"                                           ⇒ 5
Function: mbfl_multi_array_minsize_var SIZE_RV ARRYS

Determine the minimum size of the arrays in ARRYS and store it in the result variable SIZE_RV; the arrays in ARRYS can be of any size. If ARRYS is empty: the minimum size is zero.

mbfl_declare_index_array_varref(ARRY1, (a b c d))
mbfl_declare_index_array_varref(ARRY2, (A B C D E))
mbfl_declare_index_array_varref(ARRY3, (. . .))
mbfl_declare_index_array_varref(ARRYS, (_(ARRY1) _(ARRY2) _(ARRY3)))
mbfl_declare_integer_varref(SIZE)

mbfl_multi_array_minsize_var _(SIZE) _(ARRYS)
"$SIZE" ⇒ 3
Function: mbfl_multi_array_homologous_slots_var HOMOLOGOUS_VALUES_ARRY ARRYS IDX

Store in the result variable HOMOLOGOUS_VALUES_ARRY the homologous slot values from ARRYS at index IDX. This function assumes IDX is a valid slot index for all the index arrays in ARRY.

If ARRYS is empty: do nothing, leave HOMOLOGOUS_VALUES_ARRY untouched.

mbfl_declare_index_array_varref(ARRY1, (a b c d e))
mbfl_declare_index_array_varref(ARRY2, (f g h i l))
mbfl_declare_index_array_varref(ARRY3, (m n o p q))
mbfl_declare_index_array_varref(ARRYS, (_(ARRY1) _(ARRY2) _(ARRY3)))

mbfl_declare_index_array_varref(HOMOLOGOUS_VALUES_ARRY)

mbfl_multi_array_homologous_slots_var _(HOMOLOGOUS_VALUES_ARRY) _(ARRYS) 2
mbfl_slot_ref(HOMOLOGOUS_VALUES_ARRY, 0)        ⇒ c
mbfl_slot_ref(HOMOLOGOUS_VALUES_ARRY, 1)        ⇒ h
mbfl_slot_ref(HOMOLOGOUS_VALUES_ARRY, 2)        ⇒ o

mbfl_multi_array_homologous_slots_var _(HOMOLOGOUS_VALUES_ARRY) _(ARRYS) 4
mbfl_slot_ref(HOMOLOGOUS_VALUES_ARRY, 0)        ⇒ e
mbfl_slot_ref(HOMOLOGOUS_VALUES_ARRY, 1)        ⇒ l
mbfl_slot_ref(HOMOLOGOUS_VALUES_ARRY, 2)        ⇒ q

This document describes version 3.0.0-devel.9 of Marcos Bash Functions Library.