COSMOS v7.655  COSMOSv7655
(AirShowerMC)
kmanbit.f File Reference

Go to the source code of this file.

Functions/Subroutines

logical function kbitest (i, bit)
 
subroutine ksetbit (i, bit)
 
subroutine krsetbit (i, bit)
 
subroutine krevbit (i, bit)
 

Function/Subroutine Documentation

◆ kbitest()

logical function kbitest ( integer  i,
integer  bit 
)

Definition at line 13 of file kmanbit.f.

References false.

Referenced by __read_show_skel.f__().

13  implicit none
14  integer i ! input. it's bit-th bit is tested.
15  integer bit ! input. (1<- bit <=31)
16 ! function value. .true. if bit-th bit of i is on.
17 ! else .false.
18 ! if bit is outside of the range,
19 ! .false. is returned.
20 !
21  integer j, k
22 #ifdef ABSOFT
23  kbitest = btest(i, bit-1)
24 #else
25 
26  if( bit .le. 0 .or. bit .ge. 32) then
27  kbitest = .false.
28  else
29  j = lshift(i, 32-bit)
30  k = rshift(j, 31)
31  kbitest = k .ne. 0
32  endif
33 #endif
nodes i
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
Definition: cblkHeavy.h:36
logical function kbitest(i, bit)
Definition: kmanbit.f:13
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon ! knockon is considered Obsolete *PhotoProd false
Definition: cblkElemag.h:7
Here is the caller graph for this function:

◆ krevbit()

subroutine krevbit ( integer  i,
integer  bit 
)

Definition at line 70 of file kmanbit.f.

70 ! reverse bit-th bit of i.
71  implicit none
72  integer i ! input/output.
73  integer bit ! input. bit-th position of i is made to be reverted
74 !
75  logical kbitest
76  integer j, k
77 #ifdef ABSOFT
78  if(kbitest(i, bit)) then
79  i = ibclr(i, bit-1)
80  else
81  i = ibset(i, bit-1)
82  endif
83 #else
84  if(bit .gt. 0 .and. bit .lt. 32) then
85  if( kbitest(i, bit) ) then
86  i = i - 2**(bit-1)
87  else
88  i = i + 2**(bit-1)
89  endif
90  endif
91 #endif
nodes i
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
Definition: cblkHeavy.h:36
logical function kbitest(i, bit)
Definition: kmanbit.f:13

◆ krsetbit()

subroutine krsetbit ( integer  i,
integer  bit 
)

Definition at line 53 of file kmanbit.f.

Referenced by chooknepint(), cmemonode(), and setpcode().

53  implicit none
54  integer i ! input/output.
55  integer bit ! input. bit-th position of i is made to be off.
56 !
57  logical kbitest
58  integer j, k
59 #ifdef ABSOFT
60  i = ibclr(i, bit-1)
61 #else
62  if(bit .gt. 0 .and. bit .lt. 32) then
63  if( kbitest(i, bit) ) then
64  i = i - 2**(bit-1)
65  endif
66  endif
67 #endif
nodes i
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
Definition: cblkHeavy.h:36
logical function kbitest(i, bit)
Definition: kmanbit.f:13
Here is the caller graph for this function:

◆ ksetbit()

subroutine ksetbit ( integer  i,
integer  bit 
)

Definition at line 36 of file kmanbit.f.

Referenced by chooknepint(), cmemonode(), and setpcode().

36  implicit none
37  integer i ! input/output.
38  integer bit ! input. bit-th position of i is made to be on.
39 !
40  logical kbitest
41  integer j, k
42 #ifdef ABSOFT
43  i = ibset(i, bit-1)
44 #else
45  if(bit .gt. 0 .and. bit .lt. 32) then
46  if( .not. kbitest(i, bit) ) then
47  i = i + 2**(bit-1)
48  endif
49  endif
50 #endif
nodes i
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
Definition: cblkHeavy.h:36
logical function kbitest(i, bit)
Definition: kmanbit.f:13
Here is the caller graph for this function: