SecreC 2 language  2.8.0 (2023.09)
Language and standard library reference
Functions
sortingNetworkSort[[2]](2 columns)

Functions

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)
 

Detailed Description

Function for sorting rows of a matrix based on values of two columns.

Note
D - all protection domains
Supported types - uint8 / uint16 / uint32 / uint / int8 / int16 / int32 / int / xor_uint8 / xor_uint16 / xor_uint32 / xor_uint64
Parameters
column1- index of the first column used for ordering
column2- index of the second column used for ordering
matrix- a matrix of supported type
Returns
returns a matrix where the rows of the input matrix have been sorted. For ordering two rows, the values in column1 are compared first, if they are equal then the values in column2 are compared.
Leakage
None

Function Documentation

◆ sortingNetworkSort() [1/12]

D int16 sortingNetworkSort ( D int16[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [2/12]

D int32 sortingNetworkSort ( D int32[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [3/12]

D int64 sortingNetworkSort ( D int64[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [4/12]

D int8 sortingNetworkSort ( D int8[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [5/12]

D uint16 sortingNetworkSort ( D uint16[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [6/12]

D uint32 sortingNetworkSort ( D uint32[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [7/12]

D uint64 sortingNetworkSort ( D uint64[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [8/12]

D uint8 sortingNetworkSort ( D uint8[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [9/12]

D xor_uint16 sortingNetworkSort ( D xor_uint16[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [10/12]

D xor_uint32 sortingNetworkSort ( D xor_uint32[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [11/12]

D xor_uint64 sortingNetworkSort ( D xor_uint64[[2]]  matrix,
uint  column1,
uint  column2 
)

◆ sortingNetworkSort() [12/12]

D xor_uint8 sortingNetworkSort ( D xor_uint8[[2]]  matrix,
uint  column1,
uint  column2 
)