initialize_cache Subroutine

private subroutine initialize_cache(me, isize, n, m, chunk_size)

Initialize the cache. Must be called first before use.

Type Bound

function_cache

Arguments

Type IntentOptional Attributes Name
class(function_cache), intent(inout) :: me
integer, intent(in) :: isize

the size of the hash table

integer, intent(in) :: n

number of independant variables (x)

integer, intent(in) :: m

number of functions (f)

integer, intent(in), optional :: chunk_size

chunk size to speed up reallocation of arrays. A good value is a guess for the actual number of elements of f that will be saved per value of x [default is 100]


Calls

proc~~initialize_cache~~CallsGraph proc~initialize_cache numdiff_cache_module::function_cache%initialize_cache proc~destroy_cache numdiff_cache_module::function_cache%destroy_cache proc~initialize_cache->proc~destroy_cache

Called by

proc~~initialize_cache~~CalledByGraph proc~initialize_cache numdiff_cache_module::function_cache%initialize_cache proc~initialize_numdiff numerical_differentiation_module::numdiff_type%initialize_numdiff proc~initialize_numdiff->proc~initialize_cache proc~initialize_numdiff_for_diff numerical_differentiation_module::numdiff_type%initialize_numdiff_for_diff proc~initialize_numdiff_for_diff->proc~initialize_cache

Source Code

    subroutine initialize_cache(me,isize,n,m,chunk_size)

    implicit none

    class(function_cache),intent(inout) :: me
    integer,intent(in) :: isize !! the size of the hash table
    integer,intent(in) :: n     !! number of independant variables (x)
    integer,intent(in) :: m     !! number of functions (f)
    integer,intent(in),optional :: chunk_size  !! chunk size to speed up reallocation
                                               !! of arrays. A good value is a guess for
                                               !! the actual number of elements of `f` that
                                               !! will be saved per value of `x` [default is 100]

    call me%destroy()

    allocate(me%c(0:isize-1))
    me%n = n
    me%m = m

    if (present(chunk_size)) then
        me%chunk_size = chunk_size
    else
        me%chunk_size = 100
    end if

    end subroutine initialize_cache