typestar

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

  1. elemental real function to_fahrenheit(c) está escrita para una sola lectura.
  2. Llamada con un escalar devuelve un escalar, como siempre.
  3. Llamada con celsius, el arreglo entero se convierte en una expresión.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 3 en Procedimientos; paso 15 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →