- เปิดตัวเป็นมาตรฐานอย่างเป็นทางการในชื่อ ISO/IEC 1539-1:2023 ไฟล์ PDF 674 หน้า
ฟีเจอร์ใหม่และการเปลี่ยนแปลง
- การเปลี่ยนแปลงขีดจำกัดความยาว
- เพิ่มขีดจำกัดความยาวบรรทัดของรูปแบบ source แบบอิสระเป็น 10,000 ตัวอักษร
- ยกเลิกขีดจำกัด 255 บรรทัดต่อเนื่อง และเพิ่มขีดจำกัดความยาวของคำสั่งเป็น 1 ล้านตัวอักษร
- ความยาวของตัวแปรอักขระ
- เมื่อตัวแปรที่จัดสรรได้ซึ่งมีความยาวแบบเลื่อนออกไปถูกกำหนดโดย internal specifier ระบบประมวลผลจะจัดสรรให้มีความยาวที่ถูกต้อง
- นิพจน์แบบมีเงื่อนไข
- เพิ่ม conditional expression (
value = (a > 0.0 ? a : 0.0) รูปแบบ)
- อาร์กิวเมนต์แบบมีเงื่อนไข
- เพิ่ม conditional argument โดยอาร์กิวเมนต์ทั้งหมดต้องมี rank, type และ kind เดียวกัน
- อาร์เรย์ที่มีองค์ประกอบ coarray
- อ็อบเจ็กต์ของชนิดที่มีองค์ประกอบ coarray อาจเป็นอาร์เรย์หรือจัดสรรได้ แต่ตัว coarray เองไม่ใช่
- Put with Notify
- ฟีเจอร์ยอดนิยมในชุมชน SHMEM เช่น
x[10 notify=nx] = y
- Reduction Specifier ของ Do Concurrent
- การใช้ตัวแปร reduction ภายในคำสั่ง
do concurrent
- กระบวนการแบบ simple
- pure procedure เปลี่ยนแปลงตัวแปรได้ผ่านอาร์กิวเมนต์เท่านั้น ขณะที่ simple procedure อ้างอิงตัวแปรได้ผ่านอาร์กิวเมนต์เท่านั้น
- ชนิดข้อมูล enum
- รองรับชนิดข้อมูล enum ใหม่ (
enum bind(c) เป็นต้น)
- การใช้ซับสคริปต์ด้วยอาร์เรย์จำนวนเต็ม
- สามารถใช้อาร์เรย์จำนวนเต็มเพื่อระบุหลายซับสคริปต์ได้
- การใช้ rank และขอบเขตด้วยอาร์เรย์จำนวนเต็ม
- ใช้ rank และขอบเขตล่างใน assumed-shape array และ explicit-shape array ได้
- ปรับปรุง System Clock
- ปรับปรุงอาร์กิวเมนต์ของ system clock จาก Fortran 2018 เพื่อรองรับ integer kind ที่หลากหลาย
- ค่าคงที่แบบมีชื่อเพิ่มเติมของ Intrinsic Type
- ค่าคงที่แบบมีชื่อใหม่ที่ถูกเพิ่มในโมดูล
iso_fortran_env
- ปรับปรุง Intrinsic Procedure
c_f_pointer
- เพิ่มอาร์กิวเมนต์ทางเลือกเพิ่มเติมเพื่อระบุขอบเขตล่างให้
c_f_pointer
- การขยายการใช้งานค่าคงที่ BOZ
- สามารถใช้ค่าคงที่แบบไบนารี ออคทัล และฐานสิบหก (BOZ) ในการกำหนดค่า ตัวสร้างอาร์เรย์ ตัวสร้าง enum เป็นต้น
- ฟังก์ชันตรีโกณมิติที่ทำงานเป็นหน่วยองศา
- ฟังก์ชันตรีโกณมิติที่คำนวณค่าเป็นหน่วยองศา (
sind(x), cosd(x), tand(x) เป็นต้น)
- ฟังก์ชันตรีโกณมิติที่ทำงานเป็นหน่วยครึ่งรอบ
- ฟังก์ชันตรีโกณมิติที่คำนวณค่าเป็นหน่วยครึ่งรอบ (180 องศา) (
sinpi(x), cospi(x), tanpi(x) เป็นต้น)
- การเลือก kind สำหรับชนิดตรรกะ
- ฟังก์ชัน
selected_logical_kind(bits) สำหรับระบุขนาดการจัดเก็บของชนิดข้อมูลตรรกะ
- ฟีเจอร์เก่าและฟีเจอร์ที่ถูกลบซึ่งไม่มีการเพิ่มอีกต่อไป
- จะไม่มีการเพิ่มฟีเจอร์ใหม่เข้าไปในรายการฟีเจอร์เก่าและฟีเจอร์ที่ถูกลบอีกต่อไป
1 ความคิดเห็น
สรุปฟีเจอร์ใหม่ดึงมาจาก "The new features of Fortran 2023" ที่ John Reid นำเสนอ
พอเอา PDF นี้ใส่ให้ PDF GPT(GPT Plus ต้องสมัครสมาชิก) ก็สรุปออกมาได้ดีเลยนะ
Fortran - ภาษาโปรแกรมมิงแบบขนานประสิทธิภาพสูง