24. Nyheterna i Fortran 2003

Fortran 2003 publicerades den 18 november 2004 som ISO/IEC 1539-1:2004.

Jag rekommenderar boken "fortran 95/2003 explained" av Metcalf, Reid och Cohen, utgiven av Oxford University Press sommaren 2004.

24.1 Nya egenskaper

Det nya språket Fortran 2003 är nu Fortran 95 plus:
  1. Utökade möjligheter för egna datatyper, inklusive med parametrar.
  2. Utökat stöd för objekt-orienterad programmering.
  3. Utökade möjligheter att hantera data.
  4. Utökad in/utmaning, inklusive tillgång till felmeddelanden.
  5. Pekare till procedurer.
  6. Stöd för IEEE 754 (riktad avrundning, division med noll, osv).
  7. Samverkan med språket C.
  8. Internationalisering, stöd för ISO 10646 (4 byte tecken) och val av decimalpunkt eller decimalkomma.
  9. Samverkan med operativsystemet (kommandoradsargument, tillgång till systemparametrar).

24.2 Nya egenskaper i Fortran 2008

Fortran 2008 publicerades 2010 som ISO/IEC 1539-1:2010.
  1. Adderar "Co-arrays" för parallella datorer, vilket med till exempel X(1:16,1:16)[1:4,1:4] fördelar data på olika processorer. Se vidare hemsidan Co-Array Fortran och den korta sammanfattningen av Burton Smith vid Cray. Dimensionen inom raka parenteser avser den så kallade co-dimensionen. Därför införs de inbyggda funktionerna CO_LBOUND och CO_UBOUND, förutom ett antal synkroniseringskommandon SYNC_ALL, SYNC_IMAGES, NOTIFY, READY_TEAM, QUERY, och SYNC_MEMORY. Ett enkelt exempel i en äldre version av co-array Fortran finns i Appendix 15. En fullständig beskrivning ges i Co-arrays in the next Fortran Standard i Fortran Forum, augusti 2005.
  2. Totala antalet dimensioner inklusive co-dimension är begränsad till 15.
  3. Fler inbyggda funktioner, som Besselfunktioner, felfunktionen, gammafunktionen, ...
  4. Tillåta realdelen och imaginärdelen i ett komplext tal att uppdateras oberoende.
  5. Interna funktioner eller subrutiner som argument.
  6. Start av externa program från Fortran-programmet.
  7. Garantera förekomsten av en heltalstyp svarande mot SELECTED_INT_KIND(18).
  8. Ta bort ENTRY.

24.3 Eventuella egenskaper i nästa version

Jag ger nedan mitt urval av de tillägg som överväges att ingå i nästa version av Fortran, som kan komma omkring 2015. En del av nedanstående kommer ej med, utan annat kan komma i stället.
  1. Adderar datatypen BITS. Dess KIND-nummer är specificerat som antalet bitar, och konkatenering med // är tillgängligt. Viktigt är att ett formellt argument av typen BITS kan anropas med argument av typ REAL, INTEGER, LOGICAL eller COMPLEX av samma storlek uttryckt i bitar, vilket kan utnyttjas vid arkivering då man inte känner den verkliga typen vid varje tillfälle. Några bitmanipuleringsfunktioner är hämtade från HPF, men många fler har tillkommet.
  2. Intelligenta makron. Detta ger bland annat möjlighet att specificera en allmän typ av lista, för att senare med kommandot EXPAND föreskriva vilken datatyp listan skall ha.
  3. Utvidgad STOP-sats.
  4. Inbyggd funktion för att finna ett ledigt enhetsnummer.
  5. Möjlighet att finna alla slag av logiska och text-typer.
  6. Lokala namn på konstruktioner.
  7. Tillåta en inbyggd funktion att ingå i en TYPE-sats.
  8. Tillåta ASCII som standard sorteringsordning.
  9. En inbyggd heltalsfunktion för 2-logaritmer.
  10. En C sizeof procedur.
  11. En inbyggd funktion för att ge avståndet i "ulps" mellan två flyttal.
  12. Utökat stöd för HPF (för parallella datorer).
  13. Möjlighet att dokumentera kompilatorns version.
  14. Tydliggöra vad som menas med "approximation" av flyttal.
  15. Utvidgad samverkan med språket C (verkligen på gång).
  16. Ge skönsvärden för icke-närvarande valfria argument.
  17. Skapa en parallell iteration.
  18. Tillåta specifikation av fysikaliska enheter.
  19. Skapa en överladdad version av ATAN med två argument att på sikt ersätta ATAN2.
  20. Mölighet att kontrollera att rätt måttenheter användes.

Svar och kommentarer till övningarna Lärobok i Fortran 90/95, Innehåll Litteratur


Senast modifierad: 25 oktober 2012
boein@nsc.liu.se