Funciones elemental en Fortran
Escribe la conversión para un valor; elemental la mapea sobre arreglos gratis.
program elemental_functions
implicit none
real :: celsius(5) = [12.0, 18.5, 24.0, 31.5, 8.0]
! Written for one value, elemental maps it over whole arrays.
print *, "one reading: ", to_fahrenheit(20.0)
print *, "all readings: ", to_fahrenheit(celsius)
contains
elemental real function to_fahrenheit(c)
real, intent(in) :: c
to_fahrenheit = c * 9.0 / 5.0 + 32.0
end function to_fahrenheit
end program elemental_functions
Cómo funciona
elemental real function to_fahrenheit(c)está escrita para una sola lectura.- Llamada con un escalar devuelve un escalar, como siempre.
- Llamada con
celsius, el arreglo entero se convierte en una expresión.
Palabras clave y builtins usados aquí
containselementalendfunctionimplicitintentnoneprintprogramreal
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 422
- Tokens
- 72
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 66 segundos.
Paso 3 de 3 en Procedimientos; paso 15 de 27 en Fundamentos del lenguaje.