Fold the first n elements of one field into a hash accumulator.
Usage: call soa_hash_field(hasher, this%x, n)
Takes the field whole as an allocatable, for the same reason
soa_write_field does: a container that has never been allocated has
unallocated fields and no slice of one may be formed. An unallocated
field, and a zero live count, both contribute nothing, which is the
same thing a zero-sized update would do.
Fold the first n elements of an integer(int32) field into a hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash_t), | intent(inout) | :: | hasher | |||
| integer(kind=int32), | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of an integer(int64) field into a hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash_t), | intent(inout) | :: | hasher | |||
| integer(kind=int64), | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of a real(sp) field into a hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash_t), | intent(inout) | :: | hasher | |||
| real(kind=sp), | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of a real(dp) field into a hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash_t), | intent(inout) | :: | hasher | |||
| real(kind=dp), | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of a default logical field into a hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash_t), | intent(inout) | :: | hasher | |||
| logical, | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of an integer(int32) field into a 64-bit hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash64_t), | intent(inout) | :: | hasher | |||
| integer(kind=int32), | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of an integer(int64) field into a 64-bit hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash64_t), | intent(inout) | :: | hasher | |||
| integer(kind=int64), | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of a real(sp) field into a 64-bit hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash64_t), | intent(inout) | :: | hasher | |||
| real(kind=sp), | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of a real(dp) field into a 64-bit hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash64_t), | intent(inout) | :: | hasher | |||
| real(kind=dp), | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |
Fold the first n elements of a logical field into a 64-bit hash.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(array_hash64_t), | intent(inout) | :: | hasher | |||
| logical, | intent(in), | allocatable | :: | values(:) | ||
| integer(kind=default_int), | intent(in) | :: | n |