Module | Source File | Description |
---|---|---|
dArgDynamicArray_Class | dArgDynamicArray_Class.f90 | Class that act as stacks, queues, and priority queues like dDynamicArray_Class but with an added integer index so that 'lists' of both a key and value can be maintained. These classes use dynamically allocated contiguous blocks of memory to store a list of numbers. The queues can be sorted to become priority queues and use binary searches to quickly insert new numbers. If the allocated memory is filled, the available space is doubled. Memory is only reallocated to a smaller size, if the utilization is a quarter of that allocated. The array can be specified as fixed, so that no reallocation occurs. This is useful for heaps of given like k nearest neighbours, or k smallest. |
dDynamicArray_Class | dDynamicArray_Class.f90 | Class that act as stacks, queues, and priority queues. These classes use dynamically allocated contiguous blocks of memory to store a list of numbers. The queues can be sorted to become priority queues and use binary searches to quickly insert new numbers. If the allocated memory is filled, the available space is doubled. Memory is only reallocated to a smaller size, if the utilization is a quarter of that allocated. The array can be specified as fixed, so that no reallocation occurs. This is useful for heaps of given like k nearest neighbours, or k smallest. |
formatting | m_format.f90 | Contains routines that handle string formatting |
iArgDynamicArray_Class | iArgDynamicArray_Class.f90 | Class that act as stacks, queues, and priority queues like iDynamicArray_Class but with an added integer index so that 'lists' of both a key and value can be maintained. These classes use dynamically allocated contiguous blocks of memory to store a list of numbers. The queues can be sorted to become priority queues and use binary searches to quickly insert new numbers. If the allocated memory is filled, the available space is doubled. Memory is only reallocated to a smaller size, if the utilization is a quarter of that allocated. The array can be specified as fixed, so that no reallocation occurs. This is useful for heaps of given like k nearest neighbours, or k smallest. |
idArgDynamicArray_Class | idArgDynamicArray_Class.f90 | Class that act as stacks, queues, and priority queues like idDynamicArray_Class but with an added integer index so that 'lists' of both a key and value can be maintained. These classes use dynamically allocated contiguous blocks of memory to store a list of numbers. The queues can be sorted to become priority queues and use binary searches to quickly insert new numbers. If the allocated memory is filled, the available space is doubled. Memory is only reallocated to a smaller size, if the utilization is a quarter of that allocated. The array can be specified as fixed, so that no reallocation occurs. This is useful for heaps of given like k nearest neighbours, or k smallest. |
idDynamicArray_Class | idDynamicArray_Class.f90 | Class that act as stacks, queues, and priority queues. These classes use dynamically allocated contiguous blocks of memory to store a list of numbers. The queues can be sorted to become priority queues and use binary searches to quickly insert new numbers. If the allocated memory is filled, the available space is doubled. Memory is only reallocated to a smaller size, if the utilization is a quarter of that allocated. |
iDynamicArray_Class | iDynamicArray_Class.f90 | Class that act as stacks, queues, and priority queues. These classes use dynamically allocated contiguous blocks of memory to store a list of numbers. The queues can be sorted to become priority queues and use binary searches to quickly insert new numbers. If the allocated memory is filled, the available space is doubled. Memory is only reallocated to a smaller size, if the utilization is a quarter of that allocated. |
m_allocate | m_allocate.f90 | Contains fundamental interface to allocate allocatable arrays of different types and shapes |
m_array1D | m_array1D.f90 | 1D array routines |
m_compare | m_compare.f90 | |
m_copy | m_copy.f90 | Contains fundamental routines to copy arrays to new memory locations while maintaining both copies |
m_deallocate | m_deallocate.f90 | Contains fundamental interface to deallocate allocatable arrays of different types and shapes. |
m_debugging | m_debugging.f90 | Contains routines for debugging |
m_errors | m_errors.f90 | Module contains error handling procedures |
m_fileIO | m_fileIO.f90 | Contains functions and subroutines that inquire and operate on files including reading and writing multiple entries to a file |
m_indexing | m_indexing.f90 | Contains routines to obtain packed and unpacked indices into arrays |
m_KdTree | m_KdTree.f90 | Build and search k-dimensional trees in 2, 3, and K dimensions. This KdTree is balanced, in that splits are made along the dimension with the largest variance. A quickselect is used to quickly find the median in each splitting dimension as the splitting value. The ends of each branch contain multiple leaves to prevent tail recursion. An in-depth example is given below on how to use all the aspects of the KdTree and KdTreeSearch classes. |
m_maths | m_maths.f90 | Math routines |
m_medianOf3 | m_medianOf3.f90 | Given three numbers, find their median and sort at the same time |
m_parameters | m_parameters.f90 | Module contains user defined parameters for consistent use |
m_partition | m_partition.f90 | Contains Hoare's style partitioning algorithm used for quicksorting and quickselect routines. |
m_partition3way | m_partition3way.f90 | Contains Hoare's style partitioning algorithms used for quicksorting routines n=(right+left)/2 call swap(idx(left),idx(n)) |
m_random | m_random.f90 | This module has been comprised using different sources. The first was a public domain pseudo-random number generator using the xorshift1024* and xorshift128+ methods. See Prng_Class for more details on those methods. |
m_readline | m_read.f90 | Contains core routines to read different combinations of scalars and 1D arrays from a file |
m_reallocate | m_reallocate.f90 | Contains routines to re-allocate allocatable arrays |
m_searching | m_searching.f90 | Contains routines to perform a simple binary search on a vector |
m_select | m_select.f90 | Perform a quickselect on an array. Quick select finds the kth smallest number in an array. It also puts values lower than the kth on the left, and those higher on the right This makes it perfect for finding the median. |
m_sort | m_sort.f90 | Module containing in-place and indirect routines to sort an array of numbers. |
m_strings | m_strings.f90 | Module provides string handling capabilities Replace a substring with another in a string |
m_swap | m_swap.f90 | Handles a simple swapping of two elements |
m_tests | m_tests.f90 | |
m_time | m_time.f90 | Contains functions that handle time |
m_unitTester | m_unitTester.f90 | |
m_writeline | m_write.f90 | Contains core routines to write different combinations of scalars and 1D arrays to a file |
Prng_Class | Prng_Class.f90 | Class providing a pseudo-random number generator with an xorshift128+ or xorshift1024* generator that are both suitable for parallel applications. This is class is thread safe, and can be used in parallel without Prngs on different threads affecting each other. |
ProgressBar_Class | ProgressBar_Class.f90 | An inline and updateable command prompt progress bar |
rArgDynamicArray_Class | rArgDynamicArray_Class.f90 | Class that act as stacks, queues, and priority queues like rDynamicArray_Class but with an added integer index so that 'lists' of both a key and value can be maintained. These classes use dynamically allocated contiguous blocks of memory to store a list of numbers. The queues can be sorted to become priority queues and use binary searches to quickly insert new numbers. If the allocated memory is filled, the available space is doubled. Memory is only reallocated to a smaller size, if the utilization is a quarter of that allocated. The array can be specified as fixed, so that no reallocation occurs. This is useful for heaps of given like k nearest neighbours, or k smallest. |
rDynamicArray_Class | rDynamicArray_Class.f90 | Class that act as stacks, queues, and priority queues. These classes use dynamically allocated contiguous blocks of memory to store a list of numbers. The queues can be sorted to become priority queues and use binary searches to quickly insert new numbers. If the allocated memory is filled, the available space is doubled. Memory is only reallocated to a smaller size, if the utilization is a quarter of that allocated. |
Stopwatch_Class | Stopwatch_Class.f90 | Contains code timing capabilities |
variableKind | m_variableKind.f90 | Defines variable kinds |