File: format_51.f90

package info (click to toggle)
lfortran 0.60.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,412 kB
  • sloc: cpp: 173,406; f90: 80,491; python: 17,586; ansic: 9,610; yacc: 2,356; sh: 1,401; fortran: 895; makefile: 37; javascript: 15
file content (33 lines) | stat: -rw-r--r-- 960 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program format_51
    ! Test binary (B) format descriptor
    implicit none
    integer :: i
    character(50) :: str

    ! Binary format tests
    print "(A,B32.32)", 'binary 2: ', 2
    print "(A,B8.8)", 'binary 255: ', 255
    print "(A,B16.16)", 'binary -1: ', -1
    print "(A,B0)", 'binary 42: ', 42
    print "(A,B10)", 'binary 7: ', 7
    print "(B5.5)", 15
    print "(B3.3)", 4

    ! Verify with write statements
    write(str, "(B32.32)") 2
    if (trim(adjustl(str)) /= "00000000000000000000000000000010") error stop "B32.32 failed"

    write(str, "(B8.8)") 255
    if (trim(adjustl(str)) /= "11111111") error stop "B8.8 failed"

    write(str, "(B0)") 42
    if (trim(adjustl(str)) /= "101010") error stop "B0 failed"

    write(str, "(B10)") 7
    if (trim(adjustl(str)) /= "111") error stop "B10 failed"

    write(str, "(B5.5)") 15
    if (trim(adjustl(str)) /= "01111") error stop "B5.5 failed"

    print *, "PASSED"
end program format_51