J'essaie d'écrire un sous-programme qui peut prendre en entrée un tableau unidimensionnel OU un tableau bidimensionnel. Comment puis-je déclarer que l'entrée du sous-programme peut être un vecteur ou une matrice?Tableau de dimension libre en tant qu'entrée dans le sous-programme
Si je fais ceci:
SUBROUTINE TEST1(x)
REAL, INTENT(IN) :: x(:)
<do something>
END SUBROUTINE TEST1
Je ne peux évidemment pas passer une matrice comme une entrée dans le sous-programme. Une solution non élégante pourrait être de passer la matrice sous forme vectorisée et de la ré-agencer sous forme matricielle à l'intérieur du sous-programme (il me faudrait bien sûr deux entrées supplémentaires). Existe-t-il une meilleure façon de le faire?