Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine jump(self)class(rng_t),intent(inout)::selfinteger::i,binteger(i8)::global_time(2),dummy! The signed equivalent of the unsigned constantsinteger(i8),parameter::jmp_c(2)=(/-4707382666127344949_i8,&-2852180941702784734_i8/)global_time=0do i=1,2do b=0,63if(iand(jmp_c(i),shiftl(1_i8,b))/=0)thenglobal_time=ieor(global_time,self%s)end ifdummy=self%next()end do end doself%s=global_timeend subroutine jump