Neko  0.9.0
A portable framework for high-order spectral element flow simulations
stack Module Reference

Implements a dynamic stack ADT. More...

Data Types

type  stack_t
 Base type for a stack. More...
 
type  stack_i4_t
 Integer based stack. More...
 
type  stack_i8_t
 Integer*8 based stack. More...
 
type  stack_r8_t
 Double precision based stack. More...
 
type  stack_i4t2_t
 Integer 2-tuple based stack. More...
 
type  stack_i4t4_t
 Integer 4-tuple based stack. More...
 
type  stack_i4r8t2_t
 Mixed integer-double precision 2-tuple based stack. More...
 
type  stack_2i4r8t3_t
 Mixed integer-double precision 3-tuple based stack. More...
 
type  stack_curve_t
 Curved element stack. More...
 
type  stack_nq_t
 Neko quad element based stack. More...
 
type  stack_nh_t
 Neko hex element based stack. More...
 
type  stack_nz_t
 Neko zone based stack. More...
 
type  stack_nc_t
 Neko curve info based stack. More...
 
type  stack_pt_t
 Point based stack. More...
 

Functions/Subroutines

subroutine stack_init (this, size)
 Initialize a stack of arbitrary type. More...
 
subroutine stack_free (this)
 Destroy a stack. More...
 
subroutine stack_clear (this)
 Clear all entries of a stack. More...
 
pure integer function stack_size (this)
 Return number of entries in the stack. More...
 
pure logical function stack_is_empty (this)
 Return true if the stack is empty. More...
 
subroutine stack_push (this, data)
 Push data onto the stack. More...
 
integer function stack_i4_pop (this)
 Pop an integer of the stack. More...
 
integer function, dimension(:), pointer, contiguous stack_i4_data (this)
 Return a pointer to the internal integer array. More...
 
integer(kind=i8) function stack_i8_pop (this)
 Pop an integer*8 of the stack. More...
 
integer(kind=i8) function, dimension(:), pointer, contiguous stack_i8_data (this)
 Return a pointer to the internal integer*8 array. More...
 
real(kind=dp) function stack_r8_pop (this)
 Pop a double precision value of the stack. More...
 
real(kind=dp) function, dimension(:), pointer, contiguous stack_r8_data (this)
 Return a pointer to the internal double precision array. More...
 
type(tuple_i4_t) function stack_i4t2_pop (this)
 Pop an integer 2-tuple of the stack. More...
 
type(tuple_i4_t) function, dimension(:), pointer, contiguous stack_i4t2_data (this)
 Return a pointer to the interal 2-tuple array. More...
 
type(tuple4_i4_t) function stack_i4t4_pop (this)
 Pop an integer 4-tuple of the stack. More...
 
type(tuple4_i4_t) function, dimension(:), pointer, contiguous stack_i4t4_data (this)
 Return a pointer to the internal 4-tuple array. More...
 
type(tuple_i4r8_t) function stack_i4r8t2_pop (this)
 Pop a mixed integer-double precision 2-tuple of the stack. More...
 
type(tuple_i4r8_t) function, dimension(:), pointer, contiguous stack_i4r8t2_data (this)
 Return a pointer to the internal 2-tuple array. More...
 
type(tuple_2i4r8_t) function stack_2i4r8t3_pop (this)
 Pop a mixed integer-double precision 3-tuple of the stack. More...
 
type(tuple_2i4r8_t) function, dimension(:), pointer, contiguous stack_2i4r8t3_data (this)
 Return a pointer to the internal 2-tuple array. More...
 
type(struct_curve_t) function stack_curve_element_pop (this)
 Pop a curve element of the stack. More...
 
type(struct_curve_t) function, dimension(:), pointer, contiguous stack_curve_element_data (this)
 Return a pointer to the internal curve element array. More...
 
type(nmsh_quad_t) function stack_nq_pop (this)
 Pop a Neko quad element of the stack. More...
 
type(nmsh_quad_t) function, dimension(:), pointer, contiguous stack_nq_data (this)
 Return a pointer to the internal Neko quad array. More...
 
type(nmsh_hex_t) function stack_nh_pop (this)
 Pop a Neko hex element of the stack. More...
 
type(nmsh_hex_t) function, dimension(:), pointer, contiguous stack_nh_data (this)
 Return a pointer to the internal Neko quad array. More...
 
type(nmsh_zone_t) function stack_nz_pop (this)
 Pop a Neko zone of the stack. More...
 
type(nmsh_zone_t) function, dimension(:), pointer, contiguous stack_nz_data (this)
 Return a pointer to the internal Neko zone array. More...
 
type(nmsh_curve_el_t) function stack_nc_pop (this)
 Pop a Neko curve info of the stack. More...
 
type(nmsh_curve_el_t) function, dimension(:), pointer stack_nc_data (this)
 Return a pointer to the internal Neko curve info array. More...
 
type(point_t) function stack_pt_pop (this)
 Pop a point of the stack. More...
 
type(point_t) function, dimension(:), pointer, contiguous stack_pt_data (this)
 Return a pointer to the internal point array. More...
 

Variables

integer, parameter neko_stack_size_t = 32
 

Detailed Description

a stack storing values data of an arbitrary type

Function/Subroutine Documentation

◆ stack_2i4r8t3_data()

type(tuple_2i4r8_t) function, dimension(:), pointer, contiguous stack::stack_2i4r8t3_data ( class(stack_2i4r8t3_t), intent(inout), target  this)
private

Definition at line 609 of file stack.f90.

◆ stack_2i4r8t3_pop()

type(tuple_2i4r8_t) function stack::stack_2i4r8t3_pop ( class(stack_2i4r8t3_t), intent(inout), target  this)
private

Definition at line 595 of file stack.f90.

◆ stack_clear()

subroutine stack::stack_clear ( class(stack_t), intent(inout)  this)
private

Definition at line 220 of file stack.f90.

◆ stack_curve_element_data()

type(struct_curve_t) function, dimension(:), pointer, contiguous stack::stack_curve_element_data ( class(stack_curve_t), intent(inout), target  this)
private

Definition at line 636 of file stack.f90.

◆ stack_curve_element_pop()

type(struct_curve_t) function stack::stack_curve_element_pop ( class(stack_curve_t), intent(inout), target  this)
private

Definition at line 622 of file stack.f90.

◆ stack_free()

subroutine stack::stack_free ( class(stack_t), intent(inout)  this)
private

Definition at line 208 of file stack.f90.

◆ stack_i4_data()

integer function, dimension(:), pointer, contiguous stack::stack_i4_data ( class(stack_i4_t), intent(inout), target  this)
private

Definition at line 447 of file stack.f90.

◆ stack_i4_pop()

integer function stack::stack_i4_pop ( class(stack_i4_t), intent(inout), target  this)
private

Definition at line 433 of file stack.f90.

◆ stack_i4r8t2_data()

type(tuple_i4r8_t) function, dimension(:), pointer, contiguous stack::stack_i4r8t2_data ( class(stack_i4r8t2_t), intent(inout), target  this)
private

Definition at line 582 of file stack.f90.

◆ stack_i4r8t2_pop()

type(tuple_i4r8_t) function stack::stack_i4r8t2_pop ( class(stack_i4r8t2_t), intent(inout), target  this)
private

Definition at line 568 of file stack.f90.

◆ stack_i4t2_data()

type(tuple_i4_t) function, dimension(:), pointer, contiguous stack::stack_i4t2_data ( class(stack_i4t2_t), intent(inout), target  this)
private

Definition at line 528 of file stack.f90.

◆ stack_i4t2_pop()

type(tuple_i4_t) function stack::stack_i4t2_pop ( class(stack_i4t2_t), intent(inout), target  this)
private

Definition at line 514 of file stack.f90.

◆ stack_i4t4_data()

type(tuple4_i4_t) function, dimension(:), pointer, contiguous stack::stack_i4t4_data ( class(stack_i4t4_t), intent(inout), target  this)
private

Definition at line 555 of file stack.f90.

◆ stack_i4t4_pop()

type(tuple4_i4_t) function stack::stack_i4t4_pop ( class(stack_i4t4_t), intent(inout), target  this)
private

Definition at line 541 of file stack.f90.

◆ stack_i8_data()

integer(kind=i8) function, dimension(:), pointer, contiguous stack::stack_i8_data ( class(stack_i8_t), intent(inout), target  this)
private

Definition at line 474 of file stack.f90.

◆ stack_i8_pop()

integer(kind=i8) function stack::stack_i8_pop ( class(stack_i8_t), intent(inout), target  this)
private

Definition at line 460 of file stack.f90.

◆ stack_init()

subroutine stack::stack_init ( class(stack_t), intent(inout)  this,
integer, optional  size 
)
Parameters
sizeInitial size of the stack

Definition at line 156 of file stack.f90.

Here is the call graph for this function:

◆ stack_is_empty()

pure logical function stack::stack_is_empty ( class(stack_t), intent(in)  this)
private

Definition at line 233 of file stack.f90.

◆ stack_nc_data()

type(nmsh_curve_el_t) function, dimension(:), pointer stack::stack_nc_data ( class(stack_nc_t), intent(inout), target  this)
private

Definition at line 744 of file stack.f90.

◆ stack_nc_pop()

type(nmsh_curve_el_t) function stack::stack_nc_pop ( class(stack_nc_t), intent(inout), target  this)
private

Definition at line 730 of file stack.f90.

◆ stack_nh_data()

type(nmsh_hex_t) function, dimension(:), pointer, contiguous stack::stack_nh_data ( class(stack_nh_t), intent(inout), target  this)
private

Definition at line 690 of file stack.f90.

◆ stack_nh_pop()

type(nmsh_hex_t) function stack::stack_nh_pop ( class(stack_nh_t), intent(inout), target  this)
private

Definition at line 676 of file stack.f90.

◆ stack_nq_data()

type(nmsh_quad_t) function, dimension(:), pointer, contiguous stack::stack_nq_data ( class(stack_nq_t), intent(inout), target  this)
private

Definition at line 663 of file stack.f90.

◆ stack_nq_pop()

type(nmsh_quad_t) function stack::stack_nq_pop ( class(stack_nq_t), intent(inout), target  this)
private

Definition at line 649 of file stack.f90.

◆ stack_nz_data()

type(nmsh_zone_t) function, dimension(:), pointer, contiguous stack::stack_nz_data ( class(stack_nz_t), intent(inout), target  this)
private

Definition at line 717 of file stack.f90.

◆ stack_nz_pop()

type(nmsh_zone_t) function stack::stack_nz_pop ( class(stack_nz_t), intent(inout), target  this)
private

Definition at line 703 of file stack.f90.

◆ stack_pt_data()

type(point_t) function, dimension(:), pointer, contiguous stack::stack_pt_data ( class(stack_pt_t), intent(inout), target  this)
private

Definition at line 771 of file stack.f90.

◆ stack_pt_pop()

type(point_t) function stack::stack_pt_pop ( class(stack_pt_t), intent(inout), target  this)
private

Definition at line 757 of file stack.f90.

◆ stack_push()

subroutine stack::stack_push ( class(stack_t), intent(inout), target  this,
class(*), intent(inout)  data 
)
private
Parameters
[in,out]dataArbitrary typed data (same type as stack)

Definition at line 240 of file stack.f90.

◆ stack_r8_data()

real(kind=dp) function, dimension(:), pointer, contiguous stack::stack_r8_data ( class(stack_r8_t), intent(inout), target  this)
private

Definition at line 501 of file stack.f90.

◆ stack_r8_pop()

real(kind=dp) function stack::stack_r8_pop ( class(stack_r8_t), intent(inout), target  this)
private

Definition at line 487 of file stack.f90.

◆ stack_size()

pure integer function stack::stack_size ( class(stack_t), intent(in)  this)
private

Definition at line 226 of file stack.f90.

Variable Documentation

◆ neko_stack_size_t

integer, parameter stack::neko_stack_size_t = 32
private

Definition at line 46 of file stack.f90.