| 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 |