Fortran LAPACK cblat1 check2 ctest: ¿pasar valor en lugar de matriz?
Estoy trasladando LAPACK a Jai y me encontré con el siguiente código extraño:
En LAPACK/cblat1/check2, línea 569
CALL ctest(leny,cy,ct8(1,kn,ki),csize2(1,ksize),sfac)
El código llama a ctest
con una matriz cy(7)
, pero el siguiente argumento ct8(1,kn,ki)
es solo un número. Sin embargo, ctest
requiere matrices del mismo tamaño:
SUBROUTINE ctest(LEN,CCOMP,CTRUE,CSIZE,SFAC)
* **************************** CTEST *****************************
*
* C.L. LAWSON, JPL, 6 de diciembre de 1978
*
* .. Argumentos escalares ..
REAL SFAC
INTEGER LEN
* .. Argumentos de matriz ..
COMPLEX CCOMP(LEN), CSIZE(LEN), CTRUE(LEN)
...
¿Qué está sucediendo aquí? ¿Se convierte implícitamente ct8(1,kn,ki)
en una matriz de tamaño 7 con el valor ct8(1,kn,ki)
en todos los campos?
davy.ai
Parece que
ct8(1,kn,ki)
no se está convirtiendo implícitamente en un arreglo de tamaño 7 con el valorct8(1,kn,ki)
en todos los campos. En cambio, es probable que haya un error en el código y quect8(1,kn,ki)
deba ser un arreglo de tamaño 7. Sin más información sobre el propósito y la implementación dectest
, es difícil decir con certeza.