File: bits_03.f90

package info (click to toggle)
lfortran 0.59.0-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 56,736 kB
  • sloc: cpp: 168,052; f90: 74,272; python: 17,537; ansic: 7,705; yacc: 2,345; sh: 1,334; fortran: 895; makefile: 37; javascript: 15
file content (37 lines) | stat: -rw-r--r-- 1,022 bytes parent folder | download | duplicates (4)
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
34
35
36
37
program bits_03
    implicit none
    integer(4) :: from, to
    integer(8) :: from8, to8
    from = 10
    to = 4
    from8 = 10_8
    to8 = 4_8
    call mvbits(from, 2, 2, to, 0)
    if (from /= 10) error stop
    if (to /= 6) error stop
    call mvbits(from8, 2, 2, to8, 0)
    if (from8 /= 10) error stop
    if (to8 /= 6_8) error stop
    call mvbits(from, 0, 2, to, 2)
    if (from /= 10) error stop
    if (to /= 10) error stop
    call mvbits(from8, 0, 2, to8, 2)
    if (from8 /= 10) error stop
    if (to8 /= 10_8) error stop
    from  = -20
    to = 4
    from8 = -20_8
    to8 = 4_8
    call mvbits(from, 29, 2, to, 2)
    if (from /= -20) error stop
    if (to /= 12) error stop
    call mvbits(from8, 29, 2, to8, 2)
    if (from8 /= -20) error stop
    if (to8 /= 12_8) error stop
    call mvbits(from, 2, 2, to, 29)
    if (from /= -20) error stop
    if (to /= 1610612748) error stop
    call mvbits(from8, 2, 2, to8, 29)
    if (from8 /= -20) error stop
    if (to8 /= 1610612748_8) error stop
end program