- Lanzamiento oficial del estándar como ISO/IEC 1539-1:2023. PDF de 674 páginas
Nuevas funciones y cambios
- Cambio en los límites de longitud
- El límite de longitud de línea en formato de código fuente libre se elevó a 10,000 caracteres.
- Se eliminó el límite de 255 líneas continuas y el límite de longitud de sentencias se elevó a 1 millón de caracteres.
- Longitud de variables de caracteres
- Cuando una variable asignable de longitud diferida se define mediante una asignación interna, el procesador la asigna con la longitud correcta.
- Expresiones condicionales
- Se agregaron expresiones condicionales (forma
value = (a > 0.0 ? a : 0.0)).
- Argumentos condicionales
- Se agregaron argumentos condicionales; todos los argumentos deben tener el mismo rango, tipo y kind.
- Arreglos con componentes coarray
- Los objetos de tipos con componentes coarray pueden ser arreglos o asignables, pero no son coarrays en sí mismos.
- Put with Notify
- Función popular en la comunidad SHMEM, por ejemplo:
x[10 notify=nx] = y.
- Reduction specifier de Do Concurrent
- Uso de variables de reducción dentro de la sintaxis
do concurrent.
- Procedimientos simples
- Un procedimiento puro (
pure procedure) modifica variables solo a través de argumentos, mientras que un procedimiento simple (simple procedure) solo referencia variables a través de argumentos.
- Tipos enumerados
- Soporte para nuevos tipos enumerados (
enum bind(c), etc.).
- Uso de índices con arreglos de enteros
- Se pueden usar arreglos de enteros para especificar múltiples índices.
- Uso de rango y límites con arreglos de enteros
- Uso de rango y límites inferiores en arreglos de forma asumida y de forma explícita.
- Mejoras en System Clock
- Se mejoraron los argumentos de
system clock de Fortran 2018 para admitir varios kinds de enteros.
- Constantes nombradas adicionales de tipos intrínsecos
- Nuevas constantes nombradas agregadas al módulo
iso_fortran_env.
- Mejora del procedimiento intrínseco c_f_pointer
- Se agregó un argumento opcional adicional a
c_f_pointer para especificar límites inferiores.
- Uso ampliado de constantes BOZ
- Las constantes binarias, octales y hexadecimales (BOZ) pueden usarse en inicialización, constructores de arreglos, constructores de enumeraciones, etc.
- Funciones trigonométricas que operan en grados
- Funciones trigonométricas que calculan valores en unidades de grados (
sind(x), cosd(x), tand(x), etc.).
- Funciones trigonométricas que operan en unidades de media vuelta
- Funciones trigonométricas que calculan valores en unidades de media vuelta (180 grados) (
sinpi(x), cospi(x), tanpi(x), etc.).
- Selección de kind lógico
- Función
selected_logical_kind(bits) para especificar el tamaño de almacenamiento del tipo lógico.
- Funciones obsoletas y eliminadas que ya no se amplían
- Ya no se agregan nuevas funciones a la lista de funciones obsoletas y eliminadas.
1 comentarios
El resumen de las nuevas funciones fue tomado de "The new features of Fortran 2023", presentado por John Reid.
Si le pasas este PDF a PDF GPT (requiere suscripción a GPT Plus), lo resume bastante bien.
Fortran - lenguaje de programación paralela de alto rendimiento