historyStack Module

Module contains the history stack type which stores the history of positions of a photon and th I/O routines not fully implmented



Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: block_size = 32

Interfaces

public interface history_stack_t

  • private function init_historyStack(filename, id)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer, intent(in) :: id

    Return Value type(history_stack_t)


Derived Types

type, public ::  history_stack_t

Components

Type Visibility Attributes Name Initial
type(vec4), public, allocatable :: data(:)
integer, public :: edge_counter
character(len=:), public, allocatable :: filename
integer, public :: size
character(len=:), public, allocatable :: type
integer, public :: vertex_counter

Constructor

private function init_historyStack (filename, id)

Type-Bound Procedures

procedure, public :: empty => histempty_fn
procedure, public :: finish => histfinish_sub
procedure, public :: peek => histpeek_fn
procedure, public :: pop => histpop_fn
procedure, public :: push => histpush_sub
procedure, public :: write => histwrite_sub
procedure, public :: zero => histzero_sub

Functions

private function histempty_fn(this)

Arguments

Type IntentOptional Attributes Name
class(history_stack_t) :: this

Return Value logical

private function histpeek_fn(this)

Arguments

Type IntentOptional Attributes Name
class(history_stack_t) :: this

Return Value type(vec4)

private function histpop_fn(this)

Arguments

Type IntentOptional Attributes Name
class(history_stack_t) :: this

Return Value type(vec4)

private function init_historyStack(filename, id)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
integer, intent(in) :: id

Return Value type(history_stack_t)


Subroutines

private subroutine histfinish_sub(this)

Arguments

Type IntentOptional Attributes Name
class(history_stack_t) :: this

private subroutine histpush_sub(this, val)

Arguments

Type IntentOptional Attributes Name
class(history_stack_t) :: this
type(vec4), intent(in) :: val

private subroutine histwrite_sub(this)

Arguments

Type IntentOptional Attributes Name
class(history_stack_t) :: this

private subroutine histzero_sub(this)

Arguments

Type IntentOptional Attributes Name
class(history_stack_t) :: this

private subroutine json_writer(this)

Arguments

Type IntentOptional Attributes Name
type(history_stack_t), intent(inout) :: this

private subroutine obj_writer(this)

Arguments

Type IntentOptional Attributes Name
type(history_stack_t), intent(inout) :: this

private subroutine ply_writer(this)

Arguments

Type IntentOptional Attributes Name
type(history_stack_t), intent(inout) :: this