Методы расширения одномерных динамических массивов

function AdjacentFind<T>(Self: array of T; eq: (T,T)->boolean; start: integer := 0): integer;
        Находит первую пару подряд идущих одинаковых элементов, используя функцию сравнения eq, и возвращает индекс первого элемента пары. Если не найден, возвращается -1
function BinarySearch<T>(Self: array of T; x: T): integer;
        Выполняет бинарный поиск в отсортированном массиве
function ConvertAll<T, T1>(Self: array of T; converter: T->T1): array of T1;
        Преобразует элементы массива и возвращает преобразованный массив
function ConvertAll<T, T1>(Self: array of T; converter: (T,integer)->T1): array of T1;
        Преобразует элементы массива и возвращает преобразованный массив
procedure Fill<T>(Self: array of T; f: integer -> T);
        Заполняет элементы массива значениями, вычисляемыми по некоторому правилу
function Find<T>(Self: array of T; p: T->boolean): T;
        Выполняет поиск первого элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается нулевое значение соответствующего типа
function FindAll<T>(Self: array of T; p: T->boolean): array of T;
        Возвращает в виде массива все элементы, удовлетворяющие предикату
function FindIndex<T>(Self: array of T; p: T->boolean): integer;
        Выполняет поиск индекса первого элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается -1
function FindIndex<T>(Self: array of T; start: integer; p: T->boolean): integer;
        Выполняет поиск индекса первого элемента в массиве, удовлетворяющего предикату, начиная с индекса start. Если не найден, возвращается -1
function FindLast<T>(Self: array of T; p: T->boolean): T;
        Выполняет поиск последнего элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается нулевое значение соответствующего типа
function FindLastIndex<T>(Self: array of T; p: T->boolean): integer;
        Выполняет поиск индекса последнего элемента в массиве, удовлетворяющего предикату. Если не найден, возвращается -1
function FindLastIndex<T>(self: array of T; start: integer; p: T->boolean): integer;
        Выполняет поиск индекса последнего элемента в массиве, удовлетворяющего предикату, в диапазоне индексов от 0 до start. Если не найден, возвращается -1
function High(Self: System.Array);
        Возвращает индекс последнего элемента массива
function IndexMax<T>(self: array of T; index: integer := 0): integer; where T: IComparable<T>;
        Возвращает индекс первого максимального элемента начиная с позиции index
function IndexOf<T>(Self: array of T; x: T): integer;
        Возвращает индекс первого вхождения элемента или -1 если элемент не найден
function IndexOf<T>(Self: array of T; x: T; start: integer): integer;
        Возвращает индекс первого вхождения элемента начиная с индекса start или -1 если элемент не найден
function Indices<T>(Self: array of T): sequence of integer;
        Возвращает последовательность индексов одномерного массива
function Indices<T>(Self: array of T; cond: T->boolean): sequence of integer;
        Возвращает последовательность индексов элементов одномерного массива, удовлетворяющих условию
function Indices<T>(Self: array of T; cond: (T,integer) ->boolean): sequence of integer;
        Возвращает последовательность индексов элементов одномерного массива, удовлетворяющих условию
function LastIndexMax<T>(Self: array of T): integer; where T: IComparable<T>;
        Возвращает индекс последнего минимального элемента
function LastIndexMax<T>(Self: array of T; index: integer): integer; where T: IComparable<T>;
        Возвращает индекс последнего минимального элемента в диапазоне [0,index]
function LastIndexMin<T>(Self: array of T): integer; where T: IComparable<T>;
        Возвращает индекс последнего минимального элемента
function LastIndexMin<T>(Self: array of T; index: integer): integer; where T: IComparable<T>;
        Возвращает индекс последнего минимального элемента в диапазоне [0,index]
function LastIndexOf<T>(Self: array of T; x: T): integer;
        Возвращает индекс последнего вхождения элемента или -1 если элемент не найден
function LastIndexOf<T>(Self: array of T; x: T; start: integer): integer;
        Возвращает индекс последнего вхождения элемента начиная с индекса start или -1 если элемент не найден
function Low(Self: System.Array);
        Возвращает индекс первого элемента массива
function Max<T>(Self: array of T): T; where T: IComparable<T>;
        Возвращает максимальный элемент
function Max(Self: array of integer): integer;
        Возвращает максимальный элемент
function Max(Self: array of real): real;
        Возвращает максимальный элемент
function Min<T>(Self: array of T): T; where T: IComparable<T>;
        Возвращает минимальный элемент
function Min(Self: array of integer): integer;
        Возвращает минимальный элемент
function Min(Self: array of real): real;
        Возвращает минимальный элемент
procedure Replace<T>(Self: array of T; oldValue,newValue: T);
        Заменяет в массиве все вхождения одного значения на другое
function Shuffle<T>(Self: array of T): array of T;
        Перемешивает элементы массива случайным образом
function Slice<T>(Self: array of T; from, step: integer): array of T;
        Возвращает срез массива от индекса from с шагом step
function Slice<T>(Self: array of T; from, step, count: integer): array of T;
        Возвращает срез массива от индекса from с шагом step длины не более count
procedure Sort<T>(Self: array of T);
        Сортирует массив по возрастанию
procedure Sort<T>(Self: array of T; cmp: (T,T) ->integer);
        Сортирует массив по возрастанию, используя cmp в качестве функции сравнения элементов
procedure Transform<T>(self: array of T; f: T -> T);
        Преобразует элементы массива по заданному правилу