Line | Branch | Exec | Source |
---|---|---|---|
1 | module raffle__cache | ||
2 | use raffle__constants, only: real32 | ||
3 | implicit none | ||
4 | |||
5 | private | ||
6 | public :: store_probability_density, retrieve_probability_density | ||
7 | |||
8 | real(real32), allocatable, dimension(:,:), save :: cached_probability_density | ||
9 | |||
10 | contains | ||
11 | |||
12 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | subroutine store_probability_density(probability_density) |
13 | implicit none | ||
14 | real(real32), intent(in) :: probability_density(:,:) | ||
15 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | if (allocated(cached_probability_density)) & |
16 | ✗ | deallocate(cached_probability_density) | |
17 |
13/22✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✓ Branch 21 taken 3 times.
✓ Branch 22 taken 1 times.
✓ Branch 23 taken 9 times.
✓ Branch 24 taken 3 times.
|
13 | allocate(cached_probability_density, source = probability_density) |
18 | |||
19 | 1 | end subroutine store_probability_density | |
20 | |||
21 | 2 | function retrieve_probability_density() result(probability_density) | |
22 | implicit none | ||
23 | real(real32), allocatable :: probability_density(:,:) | ||
24 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 | if(.not.allocated(cached_probability_density)) then |
25 | 1 | write(0,*) "Probability density not allocated. Returning zero array." | |
26 |
7/10✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✓ Branch 9 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 11 taken 1 times.
✓ Branch 12 taken 1 times.
|
3 | allocate(probability_density(1,1), source = 0._real32) |
27 | else | ||
28 |
13/22✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 1 times.
✓ Branch 21 taken 3 times.
✓ Branch 22 taken 1 times.
✓ Branch 23 taken 9 times.
✓ Branch 24 taken 3 times.
|
13 | allocate(probability_density, source = cached_probability_density) |
29 | end if | ||
30 | 2 | end function retrieve_probability_density | |
31 | |||
32 | end module raffle__cache | ||
33 |