SecreC 2 language  2.8.0 (2023.09)
Language and standard library reference
Functions
shared3p_sort.sc File Reference

Functions

template<domain D :shared3p >
D bool sort (D bool[[1]] arr)
 
template<domain D :shared3p , type T>
D T sort (D T[[1]] vec)
 
template<domain D :shared3p >
D bool sort (D bool[[2]] matrix, uint column)
 
template<domain D :shared3p , type T>
D T sort (D T[[2]] matrix, uint column)
 
template<domain D, type T>
D T sortingNetworkSort (D T[[1]] array)
 
template<domain D :shared3p >
D uint8 sortingNetworkSort (D uint8[[2]] matrix, uint column)
 
template<domain D :shared3p >
D uint16 sortingNetworkSort (D uint16[[2]] matrix, uint column)
 
template<domain D :shared3p >
D uint32 sortingNetworkSort (D uint32[[2]] matrix, uint column)
 
template<domain D :shared3p >
D uint64 sortingNetworkSort (D uint64[[2]] matrix, uint column)
 
template<domain D :shared3p >
D int8 sortingNetworkSort (D int8[[2]] matrix, uint column)
 
template<domain D :shared3p >
D int16 sortingNetworkSort (D int16[[2]] matrix, uint column)
 
template<domain D :shared3p >
D int32 sortingNetworkSort (D int32[[2]] matrix, uint column)
 
template<domain D :shared3p >
D int64 sortingNetworkSort (D int64[[2]] matrix, uint column)
 
template<domain D :shared3p >
D xor_uint8 sortingNetworkSort (D xor_uint8[[2]] matrix, uint column)
 
template<domain D :shared3p >
D xor_uint16 sortingNetworkSort (D xor_uint16[[2]] matrix, uint column)
 
template<domain D :shared3p >
D xor_uint32 sortingNetworkSort (D xor_uint32[[2]] matrix, uint column)
 
template<domain D :shared3p >
D xor_uint64 sortingNetworkSort (D xor_uint64[[2]] matrix, uint column)
 
template<domain D :shared3p >
D uint8 sortingNetworkSort (D uint8[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D uint16 sortingNetworkSort (D uint16[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D uint32 sortingNetworkSort (D uint32[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D uint64 sortingNetworkSort (D uint64[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D int8 sortingNetworkSort (D int8[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D int16 sortingNetworkSort (D int16[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D int32 sortingNetworkSort (D int32[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D int64 sortingNetworkSort (D int64[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D xor_uint8 sortingNetworkSort (D xor_uint8[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D xor_uint16 sortingNetworkSort (D xor_uint16[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D xor_uint32 sortingNetworkSort (D xor_uint32[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D xor_uint64 sortingNetworkSort (D xor_uint64[[2]] matrix, uint column1, uint column2)
 
template<domain D :shared3p >
D uint8 sortingNetworkSort (D uint8[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D uint16 sortingNetworkSort (D uint16[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D uint32 sortingNetworkSort (D uint32[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D uint64 sortingNetworkSort (D uint64[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D int8 sortingNetworkSort (D int8[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D int16 sortingNetworkSort (D int16[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D int32 sortingNetworkSort (D int32[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D int64 sortingNetworkSort (D int64[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D xor_uint8 sortingNetworkSort (D xor_uint8[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D xor_uint16 sortingNetworkSort (D xor_uint16[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D xor_uint32 sortingNetworkSort (D xor_uint32[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D :shared3p >
D xor_uint64 sortingNetworkSort (D xor_uint64[[2]] matrix, uint column1, uint column2, uint column3)
 
template<domain D, type T>
D T selectK (D T[[1]] vector, uint k)
 
template<domain D :shared3p >
D uint8 selectK (D uint8[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D uint16 selectK (D uint16[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D uint32 selectK (D uint32[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D uint64 selectK (D uint64[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D int8 selectK (D int8[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D int16 selectK (D int16[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D int32 selectK (D int32[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D int64 selectK (D int64[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D xor_uint8 selectK (D xor_uint8[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D xor_uint16 selectK (D xor_uint16[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D xor_uint32 selectK (D xor_uint32[[2]] matrix, uint k, uint column)
 
template<domain D :shared3p >
D xor_uint64 selectK (D xor_uint64[[2]] matrix, uint k, uint column)
 
template<domain D>
D uint64 radixSort (D uint64[[1]] array)
 
template<domain D>
D xor_uint64 radixSort (D xor_uint64[[1]] array)
 
template<domain D, type T>
D uint radixSortWithIndex (D T[[1]] array, D uint[[1]] indexVector)
 
template<domain D>
D uint64 radixSort (D uint64[[2]] array, uint column1)
 
template<domain D :shared3p >
uint unsafeSort (D bool[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D xor_uint8[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D xor_uint16[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D xor_uint32[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D xor_uint64[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D uint8[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D uint16[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D uint32[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D uint64[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D int8[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D int16[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D int32[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D int64[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D float32[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
uint unsafeSort (D float64[[1]] vec, D xor_uint64[[1]] indices, bool ascending)
 
template<domain D :shared3p >
D bool quicksort (D bool[[2]] matrix, uint column)
 
template<domain D :shared3p >
D xor_uint8 quicksort (D xor_uint8[[2]] matrix, uint column)
 
template<domain D :shared3p >
D xor_uint16 quicksort (D xor_uint16[[2]] matrix, uint column)
 
template<domain D :shared3p >
D xor_uint32 quicksort (D xor_uint32[[2]] matrix, uint column)
 
template<domain D :shared3p >
D xor_uint64 quicksort (D xor_uint64[[2]] matrix, uint column)
 
template<domain D :shared3p >
D uint8 quicksort (D uint8[[2]] matrix, uint column)
 
template<domain D :shared3p >
D uint16 quicksort (D uint16[[2]] matrix, uint column)
 
template<domain D :shared3p >
D uint32 quicksort (D uint32[[2]] matrix, uint column)
 
template<domain D :shared3p >
D uint64 quicksort (D uint64[[2]] matrix, uint column)
 
template<domain D :shared3p >
D int8 quicksort (D int8[[2]] matrix, uint column)
 
template<domain D :shared3p >
D int16 quicksort (D int16[[2]] matrix, uint column)
 
template<domain D :shared3p >
D int32 quicksort (D int32[[2]] matrix, uint column)
 
template<domain D :shared3p >
D int64 quicksort (D int64[[2]] matrix, uint column)
 
template<domain D :shared3p >
D float32 quicksort (D float32[[2]] matrix, uint column)
 
template<domain D :shared3p >
D float64 quicksort (D float64[[2]] matrix, uint column)
 
template<domain D :shared3p >
D bool quicksort (D bool[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D xor_uint8 quicksort (D xor_uint8[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D xor_uint16 quicksort (D xor_uint16[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D xor_uint32 quicksort (D xor_uint32[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D xor_uint64 quicksort (D xor_uint64[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D uint8 quicksort (D uint8[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D uint16 quicksort (D uint16[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D uint32 quicksort (D uint32[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D uint64 quicksort (D uint64[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D int8 quicksort (D int8[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D int16 quicksort (D int16[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D int32 quicksort (D int32[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D int64 quicksort (D int64[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D float32 quicksort (D float32[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D float64 quicksort (D float64[[2]] matrix, uint column, bool ascending)
 
template<domain D :shared3p >
D bool quicksort (D bool[[1]] vec)
 
template<domain D :shared3p >
D xor_uint8 quicksort (D xor_uint8[[1]] vec)
 
template<domain D :shared3p >
D xor_uint16 quicksort (D xor_uint16[[1]] vec)
 
template<domain D :shared3p >
D xor_uint32 quicksort (D xor_uint32[[1]] vec)
 
template<domain D :shared3p >
D xor_uint64 quicksort (D xor_uint64[[1]] vec)
 
template<domain D :shared3p >
D uint8 quicksort (D uint8[[1]] vec)
 
template<domain D :shared3p >
D uint16 quicksort (D uint16[[1]] vec)
 
template<domain D :shared3p >
D uint32 quicksort (D uint32[[1]] vec)
 
template<domain D :shared3p >
D uint64 quicksort (D uint64[[1]] vec)
 
template<domain D :shared3p >
D int8 quicksort (D int8[[1]] vec)
 
template<domain D :shared3p >
D int16 quicksort (D int16[[1]] vec)
 
template<domain D :shared3p >
D int32 quicksort (D int32[[1]] vec)
 
template<domain D :shared3p >
D int64 quicksort (D int64[[1]] vec)
 
template<domain D :shared3p >
D float32 quicksort (D float32[[1]] vec)
 
template<domain D :shared3p >
D float64 quicksort (D float64[[1]] vec)
 
template<domain D :shared3p >
D bool quicksort (D bool[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D xor_uint8 quicksort (D xor_uint8[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D xor_uint16 quicksort (D xor_uint16[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D xor_uint32 quicksort (D xor_uint32[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D xor_uint64 quicksort (D xor_uint64[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D uint8 quicksort (D uint8[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D uint16 quicksort (D uint16[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D uint32 quicksort (D uint32[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D uint64 quicksort (D uint64[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D int8 quicksort (D int8[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D int16 quicksort (D int16[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D int32 quicksort (D int32[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D int64 quicksort (D int64[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D float32 quicksort (D float32[[1]] vec, bool ascending)
 
template<domain D :shared3p >
D float64 quicksort (D float64[[1]] vec, bool ascending)