| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | parameter | :: | keyt | = | int_4 | |
| integer, | public, | parameter | :: | valt | = | int_4 |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=keyt), | public | :: | key | = | -1_keyt | ||
| integer(kind=valt), | public | :: | value | = | -1_valt |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(dbcsr_heap_node), | public | :: | node | = | dbcsr_heap_node() |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | n | = | -1 | ||
| integer, | public, | DIMENSION(:), POINTER | :: | index | => | NULL() | |
| type(dbcsr_heap_node_e), | public, | DIMENSION(:), POINTER | :: | nodes | => | NULL() |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(in) | :: | heap | |||
| integer, | intent(in) | :: | n |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(out) | :: | heap | |||
| integer, | intent(in) | :: | n |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap |
Fill heap with given values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer(kind=valt), | intent(in), | DIMENSION(:) | :: | values |
Returns the first heap element without removing it.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer(kind=keyt), | intent(out) | :: | key | |||
| integer(kind=valt), | intent(out) | :: | value | |||
| logical, | intent(out) | :: | found |
Returns and removes the first heap element and rebalances the heap.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer(kind=keyt), | intent(out) | :: | key | |||
| integer(kind=valt), | intent(out) | :: | value | |||
| logical, | intent(out) | :: | found |
Changes the value of the heap element with given key and rebalances the heap.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer(kind=keyt), | intent(in) | :: | key | |||
| integer(kind=valt), | intent(in) | :: | value |
Changes the value of the minimum heap element and rebalances the heap.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer(kind=valt), | intent(in) | :: | value |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer, | intent(in) | :: | e1 | |||
| integer, | intent(in) | :: | e2 |
Sets node e1 to e2
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer, | intent(in) | :: | e1 | |||
| integer, | intent(in) | :: | e2 |
Balances a heap by bubbling down from the given element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer, | intent(in) | :: | first |
Balances a heap by bubbling up from the given element.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dbcsr_heap_type), | intent(inout) | :: | heap | |||
| integer, | intent(in) | :: | first | |||
| integer, | intent(out) | :: | new_pos |