Структура COMPLEXARRAY
Значения массивов и векторов в пользовательских функциях передаются как структуры COMPLEXARRAY. Структура COMPLEXARRAY включает следующие четыре члена:
• Array->rows - число строк
• Array->cols - число столбцов
• Array->hReal[col][row] - действительная часть значений массива
• Array->hImag[col][row] - мнимая часть значений массива
Когда PTC Mathcad отправляет массив в пользовательскую функцию с помощью структуры COMPLEXARRAY, фактически передаются два массива: один для действительной части и один для мнимой части. Если ни у одного элемента массива нет мнимой части, Array->hImag равняется значению NULL. Если все элементы являются чисто мнимыми, Array->hReal равняется значению NULL.
Эти предположения делаются для матриц, которые содержат нечисловые значения, такие как строковые переменные PTC Mathcad. Каждая запись в этих массивах содержит или допустимое скалярное число, или NaN.
PTC Mathcad сохраняет значения любых нечисловых матричных записей в отдельной структуре данных, которая недоступна пользовательской функции. Таким образом, пользовательская функция не может определить фактическое значение сохраненной строки или функции. Можно передать строки по отдельности с помощью типа MCSTRING.
Если результатом вашей функции является структура COMPLEXARRAY, выделите память для комплексного массива с помощью функции MathcadArrayAllocate.