GCC Code Coverage Report


Directory: src/fortran/lib/
File: mod_cache.f90
Date: 2025-06-15 07:27:34
Exec Total Coverage
Lines: 10 11 90.9%
Functions: 0 0 -%
Branches: 37 62 59.7%

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