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

Functions

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)
 

Detailed Description

Function for sorting rows of a matrix based on values of three 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
column3- index of the third 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, if they are equal then the values in column3 are compared.
Leakage
None

Function Documentation

◆ sortingNetworkSort() [1/12]

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

◆ sortingNetworkSort() [2/12]

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

◆ sortingNetworkSort() [3/12]

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

◆ sortingNetworkSort() [4/12]

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

◆ sortingNetworkSort() [5/12]

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

◆ sortingNetworkSort() [6/12]

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

◆ sortingNetworkSort() [7/12]

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

◆ sortingNetworkSort() [8/12]

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

◆ sortingNetworkSort() [9/12]

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

◆ sortingNetworkSort() [10/12]

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

◆ sortingNetworkSort() [11/12]

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

◆ sortingNetworkSort() [12/12]

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