عدد مجنون من خطوط الاستمرار في فورتران (IFORT)
-
25-09-2019 - |
سؤال
على ما يبدو ، يوجد حد في عدد خطوط الاستمرار المسموح بها في مجمعي Fortran. لدي حالة مرضية مؤقتة (تم إجراؤها لأغراض الاختبار السريع) حيث يُطلب مني تهيئة مجموعة ضخمة دون فتح الملفات أو القيام بأي خداع ، فقط صفعة البيانات في الحرفية. الصفيف كبير جدا (360000 إدخالات).
كيف يمكنني تعيين حد المترجم على غير محدود ، أو ما هي الاستراتيجية البديلة التي يمكنني استخدامها لاستضافة تهيئة الصفيف هذه؟
المحلول
لا أعرف أي إعدادات برمجية لخطوط متابعة غير محدودة ، لكنني أقترح هذه البدائل:
- تعيين كل قيمة على سطر واحد
- ضع القيم في ملف وقراءته :)
- استدعاء وظيفة C لملء مجموعة Fortran الخاصة بك
نصائح أخرى
يمكنك تعيينها على دفعات باستخدام ضمني DO
الحلقات ، حتى الحد المستمر الذي يفرضه المترجم الخاص بك:
REAL :: xarray(360000)
DATA (xarray(i) i=1,100) /1.0, 2.0, 3.0, 4.0, 5.0, 6.0, &
7.0, 8.0, &
...
98.0, 99.0, 100.0 /
DATA (xarray(i) i=101,200) /101.0, 102.0, 103.0, 104.0, 105.0, 106.0, &
107.0, 108.0, &
...
198.0, 199.0, 200.0 /
لقد رأيت هذا في الكثير من كود فورتران العلمي.
اكتب بعض التعليمات البرمجية لإنشاء ملفات المصدر الخاصة بك مع بيانات من ملف نصي. اقسم المهام حسب الصف أو شيء للمساعدة في تجنب إنشاء بيان ضخم لتهيئة المصفوفة في ضربة واحدة. تذكر الكود الذي يولد الكود يمكن أن يكون مرنًا تمامًا.