Turkish Tutorial for Fortran Part #6
utopian-io·@canburaksimsek·
0.000 HBDTurkish Tutorial for Fortran Part #6
[](https://steemkr.com/utopian-io/@rosatravels/utopian-io-gif-contest-my-3rd-entry) GitHub Depo:https://github.com/wavebitscientific/functional-fortran Fortran (FORTRAN), özellikle sayısal hesaplama ve bilimsel hesaplama için uygun olan genel amaçlı, yordamsal, zorunlu programlama dilidir. # Fortran > 1954'de IBM tarafından üretilen IBM 704 için ilk sürümü John Backus ve ekibi tarafından geliştirilmiştir. Backus ve ekibi Kasım 1954'de "The IBM Mathematical FORmula TRANslating System: Fortran" isimli raporu yayınlamışlardır. ### What Will I Learn? - I will try to give you information about the use of Fortran Programming Language. This series will proceed step by step. At the end of our project, we will have learned the Fortran Programming and Calculus Language. I will strive to give you a useful education. ### Ne Öğreneceğim? - Bu seride sizlere Fortran Programlama Dili kullanımı hakkında bilgiler vermeye çalışacağım. Bu seri adım adım ilerleyecektir. Projemizin sonunda Fortran Programlama ve Hesaplama Dilini öğrenmiş olacağız. Sizlere faydalı bir eğitim serisi vermek için çabalayacağım. ### Requirements - To develop and examine the concept of problem solving - Thinking and developing other things while solving problems - Force 2.0 ### Gereksinimler - Problem çözme kavramını geliştirmek ve incelemek - Problem çözerken başka yollar düşünmek ve geliştirmek - Force 2.0 ### Difficulty / Zorluk - Intermediate / Orta Düzey ### Curriculum / Müfredat [](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-1) [](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-2) [](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-3) [](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-4) [](https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-5) # 'empty' İçin Birim Testleri ### program test_empt - yalnızca iso_fortran_env kullanın : int8, int16, int32, int64, real32, real64, real128 - yalnızca mod_testing'i kullanın : assert, initialize_tests, report_tests - sadece mod_functional kullanın : empty ``` logical,dimension(:),allocatable :: tests logical :: test_failed integer :: n,norder,ntests integer,parameter :: stdout = 6 n = 1 ntests = 10 call initialize_tests(tests,ntests) tests(n) = assert(size(empty(1_int8)) == 0,'empty, int8') n = n + 1 tests(n) = assert(size(empty(1_int16)) == 0,'empty, int16') n = n + 1 tests(n) = assert(size(empty(1_int32)) == 0,'empty, int32') n = n + 1 tests(n) = assert(size(empty(1_int64)) == 0,'empty, int64') n = n + 1 tests(n) = assert(size(empty(1._real32)) == 0,'empty, real32') n = n + 1 tests(n) = assert(size(empty(1._real64)) == 0,'empty, real64') n = n + 1 tests(n) = assert(size(empty(1._real128)) == 0,'empty, real128') n = n + 1 tests(n) = assert(size(empty(cmplx(1._real32,0._real32))) == 0,'empty, complex32') n = n + 1 tests(n) = assert(size(empty(cmplx(1._real64,0._real64))) == 0,'empty, complex64') n = n + 1 tests(n) = assert(size(empty(cmplx(1._real128,0._real128))) == 0,'empty, complex128') n = n + 1 test_failed = .false. call report_tests(tests,test_failed) if(test_failed)stop 1 ``` son programı test_empty ## Karmaşık Sayılar için 'map' ve 'filter' ve ünite testleri public :: operator(.sort.) public :: operator(.tail.) public :: operator(.union.) - Arayüz aralığı ``` module procedure :: arange_i1,arange_i2,arange_i4,arange_i8 module procedure :: arange_r4,arange_r8,arange_r16 module procedure :: arange_c4,arange_c8,arange_c16 ``` uç arayüz aralığı - Arabirim tamamlayıcı ``` module procedure :: complement_i1,complement_i2,complement_i4,complement_i8 module procedure :: complement_r4,complement_r8,complement_r16 ``` bitiş arayüzü tamamlayıcı - Arayüz operatörü ( .complement. ) ``` module procedure :: complement_i1,complement_i2,complement_i4,complement_i8 module procedure :: complement_r4,complement_r8,complement_r16 ``` bitiş arabirimi - Arayüz filtresi ``` module procedure :: filter_i1,filter_i2,filter_i4,filter_i8 module procedure :: filter_r4,filter_r8,filter_r16 module procedure :: filter_c4,filter_c8,filter_c16 ``` endinterface filter - ara katlama ``` module procedure :: foldl_i1,foldl_i2,foldl_i4,foldl_i8 module procedure :: foldl_r4,foldl_r8,foldl_r16 ``` uç ara birim katlama - Ara birim foldr ``` module procedure :: foldr_i1,foldr_i2,foldr_i4,foldr_i8 module procedure :: foldr_r4,foldr_r8,foldr_r16 ``` uç ara birim foldr - ara birim foldt ``` module procedure :: foldt_i1,foldt_i2,foldt_i4,foldt_i8 module procedure :: foldt_r4,foldt_r8,foldt_r16 ``` son ara birim foldt - arayüz operatörü ( .head. ) ``` module procedure :: head_i1,head_i2,head_i4,head_i8 module procedure :: head_r4,head_r8,head_r16 module procedure :: head_c4,head_c8,head_c16 ``` bitiş ara birimi - uç ara birim operator(.head.) ``` module procedure :: head_i1,head_i2,head_i4,head_i8 module procedure :: head_r4,head_r8,head_r16 module procedure :: head_c4,head_c8,head_c16 ``` son uç ara birim - Ara birim girişi ``` module procedure :: init_i1,init_i2,init_i4,init_i8 module procedure :: init_r4,init_r8,init_r16 module procedure :: init_c4,init_c8,init_c16 ``` uç ara birim girişi - Ara birim kavşağı ``` module procedure :: init_i1,init_i2,init_i4,init_i8 module procedure :: init_r4,init_r8,init_r16 module procedure :: init_c4,init_c8,init_c16 ``` uç arayüz kavşağı - Arayüz insert ``` module procedure :: insert_i1,insert_i2,insert_i4,insert_i8 module procedure :: insert_r4,insert_r8,insert_r16 ``` son arayüz insert - Arayüz operatörü (. intersection. ) ``` module procedure :: intersection_i1,intersection_i2,intersection_i4,intersection_i8 module procedure :: intersection_r4,intersection_r8,intersection_r16 ``` bitiş arabirimi - Ara yüz operator(.intersection.) ``` module procedure :: intersection_i1,intersection_i2,intersection_i4,intersection_i8 module procedure :: intersection_r4,intersection_r8,intersection_r16 ``` son ara yüz - Arayüzü tekrar et ``` module procedure :: iterfold_i1,iterfold_i2,iterfold_i4,iterfold_i8 module procedure :: iterfold_r4,iterfold_r8,iterfold_r16 ``` son arayüzü tekrar et - Son ara birim ``` module procedure :: last_i1,last_i2,last_i4,last_i8 module procedure :: last_r4,last_r8,last_r16 module procedure :: last_c4,last_c8,last_c16 ``` son arayüz son - Ara birim operatörü ( .lst. ) ``` module procedure :: last_i1,last_i2,last_i4,last_i8 module procedure :: last_r4,last_r8,last_r16 module procedure :: last_c4,last_c8,last_c16 ``` bitiş ara birimi - Ara birim sınırı ``` module procedure :: limit_i1,limit_i2,limit_i4,limit_i8 module procedure :: limit_r4,limit_r8,limit_r16 ``` uç ara birim sınırı - Ara birim haritası ``` module procedure :: map_i1,map_i2,map_i4,map_i8 module procedure :: map_r4,map_r8,map_r16 module procedure :: map_c4,map_c8,map_c16 ``` uç arabirim haritası <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@canburaksimsek/turkish-tutorial-for-fortran-part-6">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>