Matriz2fortran.sed

De FJWiki
Revisión del 22:39 3 jun 2009 de FJRA (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Script sed para transformar una matriz texto separada por tabulaciones a una expresión de creación de matriz en fortran, sólo hay que reemplazar al final las dimensiones. Devuelve los números con d0 para expresar doble precisión. Los números que ya tengan notación científica son cambiados a notación científica con d.


matriz2fortran.sed

#Convierte una matriz por tabs en formato para fortran

1 i = reshape((/ \&
s/[0-9.][0-9.]*/&d0/g
s/d0[eEdD]\([-+]\?[0-9]*\)d0/d\1/g
s/\t/,/g
$! s/^.*$/\t&, \&/g
$ {
s/^.*$/\t&\/), \&/g
a\
	(/n, n/) )
}


Ejemplo

Ejemplo usando math2matriz.sed:

$ echo "{{1.5,2E-5},{3e4,4}}" | sed -f math2matriz.sed | sed -f matriz2fortran.sed
= reshape((/ &
        1.5d0,2d-5, &
        3d4,4d0/), &
        (/n, n/) )


Ver también