Aritmética de arreglos completos en Fortran
Matemática elemento a elemento sobre arreglos enteros sin un solo bucle a la vista.
program vector_ops
implicit none
real :: raw(5) = [12.5, 8.0, 15.25, 6.75, 11.0]
real :: net(5)
! Arithmetic on whole arrays, elementwise, no loop written.
net = raw * 0.9
print *, "net weights: ", net
print *, "over 7 lbs: ", net > 7.0
! Two arrays combine element by element the same way.
print *, "difference: ", raw - net
end program vector_ops
Cómo funciona
net = raw * 0.9escala cada elemento en una sentencia.net > 7.0es un arreglo de lógicos, impreso como T y F.raw - netcombina dos arreglos elemento a elemento: misma forma entra, misma forma sale.
Palabras clave y builtins usados aquí
endimplicitnoneprintprogramreal
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 351
- Tokens
- 60
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 55 segundos.
Paso 1 de 3 en Arreglos completos; paso 10 de 27 en Fundamentos del lenguaje.