Les valeurs de tableau et de vecteur dans les fonctions personnalisées sont transmises comme structures COMPLEXARRAY. La structure COMPLEXARRAY comprend les quatre membres suivants :
• Array->rows, le nombre de lignes ;
• Array->cols, le nombre de colonnes ;
• Array->hReal[col][row], la partie réelle des valeurs de tableau.
• Array->hImag[col][row], la partie imaginaire des valeurs de tableau.
Lorsque PTC Mathcad envoie un tableau à une fonction personnalisée à l'aide de la structure COMPLEXARRAY, elle transmet en réalité deux tableaux : un pour la partie réelle et l'autre pour la partie complexe. Si aucun élément d'un tableau n'a de partie imaginaire, Array->hImag est égal à NULL. Si tous les éléments sont purement imaginaires, Array->hReal est égal à NULL.
Des dispositions existent pour les matrices contenant des valeurs non numériques, comme les variables de chaîne PTC Mathcad. Toutes les entrées dans ces tableaux contiennent un scalaire valide ou un NaN.
PTC Mathcad stocke les valeurs de toute entrée de matrice non numérique dans une structure de données séparée qui n'est pas disponible à la fonction personnalisée. Il n'est donc pas possible que la fonction personnalisée détermine la valeur réelle de la chaîne ou fonction stockée. Vous pouvez transmettre les chaînes individuellement à l'aide du type MCSTRING.
Si le résultat de votre fonction est une structure COMPLEXARRAY, allouez la mémoire pour le tableau complexe à l'aide de la fonction MathcadArrayAllocate.