NTPoly
|
A Module For Storing Lists of triplets. Contains both a methods for sorting lists. More...
Data Types | |
type | tripletlist_t |
A data type for a list of triplets. As this is related to matrix multiplication, the referencing indices are rows and columns. More... | |
Functions/Subroutines | |
pure subroutine, public | constructtripletlist (this, size_in) |
Construct a triplet list. More... | |
pure subroutine, public | destructtripletlist (this) |
Destructs a triplet list. More... | |
pure subroutine, public | resizetripletlist (this, size) |
Increase the size of a triplet list. More... | |
pure subroutine, public | appendtotripletlist (this, triplet_value) |
Add a value to the end of the triplet list. More... | |
pure subroutine, public | settripletat (this, index, triplet_value) |
Set the value of a triplet at a particular index. More... | |
pure subroutine, public | gettripletat (this, index, triplet_value) |
Get the value of a triplet at a particular index. More... | |
pure subroutine, public | sorttripletlist (input_list, matrix_columns, sorted_list, bubble_in) |
Sorts a triplet list by index values. Implementation is based on bucket sort. This is why it needs the number of matrix columns. Bubble sort is used within a bucket. More... | |
subroutine, public | symmetrizetripletlist (triplet_list, pattern_type) |
Symmetrizes an unsymmetric triplet list according to the specified symmetry type. More... | |
A Module For Storing Lists of triplets. Contains both a methods for sorting lists.
pure subroutine, public tripletlistmodule::appendtotripletlist | ( | type(tripletlist_t), intent(inout) | this, |
type(triplet_t), intent(in) | triplet_value | ||
) |
Add a value to the end of the triplet list.
[in,out] | this | the triplet list to append to. |
[in] | triplet_value | the value to append. |
pure subroutine, public tripletlistmodule::constructtripletlist | ( | type(tripletlist_t), intent(inout) | this, |
integer(kind=c_int), intent(in), optional | size_in | ||
) |
Construct a triplet list.
[in,out] | this | the triplet list to construct. |
[in] | size_in | the length of the triplet list. |
pure subroutine, public tripletlistmodule::destructtripletlist | ( | type(tripletlist_t), intent(inout) | this | ) |
Destructs a triplet list.
[in,out] | this | the triplet list to destruct. |
pure subroutine, public tripletlistmodule::gettripletat | ( | type(tripletlist_t), intent(in) | this, |
integer(kind=c_int), intent(in) | index, | ||
type(triplet_t), intent(out) | triplet_value | ||
) |
Get the value of a triplet at a particular index.
[in] | this | the triplet list to get teh value from. |
[in] | index | the index from which to get the triplet. |
[out] | triplet_value | the extracted triplet value. |
pure subroutine, public tripletlistmodule::resizetripletlist | ( | type(tripletlist_t), intent(inout) | this, |
integer(kind=c_int), intent(in) | size | ||
) |
Increase the size of a triplet list.
[in,out] | this | the triplet list to resize. |
[in] | size. |
pure subroutine, public tripletlistmodule::settripletat | ( | type(tripletlist_t), intent(inout) | this, |
integer(kind=c_int), intent(in) | index, | ||
type(triplet_t), intent(in) | triplet_value | ||
) |
Set the value of a triplet at a particular index.
[in,out] | this | the triplet list to set. |
[in] | index | the index at which to set the triplet. |
[in] | triplet_value | the value of the triplet to set. |
pure subroutine, public tripletlistmodule::sorttripletlist | ( | type(tripletlist_t), intent(in) | input_list, |
integer, intent(in) | matrix_columns, | ||
type(tripletlist_t), intent(out) | sorted_list, | ||
logical, intent(in), optional | bubble_in | ||
) |
Sorts a triplet list by index values. Implementation is based on bucket sort. This is why it needs the number of matrix columns. Bubble sort is used within a bucket.
[in] | input_list | list to be sorted. |
[in] | matrix_columns | this is the highest column value in the list. |
[in] | bubble_in | false if you don't need the final bubble sort. |
[out] | sorted_list | a now sorted version of the list. This routine will allocate it. |
subroutine, public tripletlistmodule::symmetrizetripletlist | ( | type(tripletlist_t), intent(inout) | triplet_list, |
integer, intent(in) | pattern_type | ||
) |
Symmetrizes an unsymmetric triplet list according to the specified symmetry type.
[in,out] | triplet_list | list to be symmetrized. |
[in] | pattern_type | type of symmetry. |