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

Functions

template<domain D, type T, dim N>
D T choose (bool cond, D T[[N]] first, D T[[N]] second)
 
template<domain D, dim N>
D bool choose (D bool cond, D bool[[N]] first, D bool[[N]] second)
 
template<domain D, dim N>
D uint8 choose (D bool cond, D uint8[[N]] first, D uint8[[N]] second)
 
template<domain D, dim N>
D uint16 choose (D bool cond, D uint16[[N]] first, D uint16[[N]] second)
 
template<domain D, dim N>
D uint32 choose (D bool cond, D uint32[[N]] first, D uint32[[N]] second)
 
template<domain D, dim N>
D uint choose (D bool cond, D uint[[N]] first, D uint[[N]] second)
 
template<domain D, dim N>
D int8 choose (D bool cond, D int8[[N]] first, D int8[[N]] second)
 
template<domain D, dim N>
D int16 choose (D bool cond, D int16[[N]] first, D int16[[N]] second)
 
template<domain D, dim N>
D int32 choose (D bool cond, D int32[[N]] first, D int32[[N]] second)
 
template<domain D, dim N>
D int choose (D bool cond, D int[[N]] first, D int[[N]] second)
 
template<domain D, dim N>
D float32 choose (D bool cond, D float32[[N]] first, D float32[[N]] second)
 
template<domain D, dim N>
D float64 choose (D bool cond, D float64[[N]] first, D float64[[N]] second)
 
template<domain D, dim N>
D bool choose (D bool[[N]] cond, D bool[[N]] first, D bool[[N]] second)
 
template<domain D, dim N>
D uint8 choose (D bool[[N]] cond, D uint8[[N]] first, D uint8[[N]] second)
 
template<domain D, dim N>
D uint16 choose (D bool[[N]] cond, D uint16[[N]] first, D uint16[[N]] second)
 
template<domain D, dim N>
D uint32 choose (D bool[[N]] cond, D uint32[[N]] first, D uint32[[N]] second)
 
template<domain D, dim N>
D uint choose (D bool[[N]] cond, D uint[[N]] first, D uint[[N]] second)
 
template<domain D, dim N>
D int8 choose (D bool[[N]] cond, D int8[[N]] first, D int8[[N]] second)
 
template<domain D, dim N>
D int16 choose (D bool[[N]] cond, D int16[[N]] first, D int16[[N]] second)
 
template<domain D, dim N>
D int32 choose (D bool[[N]] cond, D int32[[N]] first, D int32[[N]] second)
 
template<domain D, dim N>
D int choose (D bool[[N]] cond, D int[[N]] first, D int[[N]] second)
 
template<domain D>
D bool vectorLookup (D bool[[1]] vec, D uint index)
 
template<domain D>
D uint8 vectorLookup (D uint8[[1]] vec, D uint index)
 
template<domain D>
D uint16 vectorLookup (D uint16[[1]] vec, D uint index)
 
template<domain D>
D uint32 vectorLookup (D uint32[[1]] vec, D uint index)
 
template<domain D>
D uint vectorLookup (D uint[[1]] vec, D uint index)
 
template<domain D>
D int8 vectorLookup (D int8[[1]] vec, D uint index)
 
template<domain D>
D int16 vectorLookup (D int16[[1]] vec, D uint index)
 
template<domain D>
D int32 vectorLookup (D int32[[1]] vec, D uint index)
 
template<domain D>
D int vectorLookup (D int[[1]] vec, D uint index)
 
template<domain D>
D float32 vectorLookup (D float32[[1]] vec, D uint index)
 
template<domain D>
D float64 vectorLookup (D float64[[1]] vec, D uint index)
 
template<domain D>
D bool matrixLookupRow (D bool[[2]] mat, D uint rowIndex)
 
template<domain D>
D uint8 matrixLookupRow (D uint8[[2]] mat, D uint rowIndex)
 
template<domain D>
D uint16 matrixLookupRow (D uint16[[2]] mat, D uint rowIndex)
 
template<domain D>
D uint32 matrixLookupRow (D uint32[[2]] mat, D uint rowIndex)
 
template<domain D>
D uint matrixLookupRow (D uint[[2]] mat, D uint rowIndex)
 
template<domain D>
D int8 matrixLookupRow (D int8[[2]] mat, D uint rowIndex)
 
template<domain D>
D int16 matrixLookupRow (D int16[[2]] mat, D uint rowIndex)
 
template<domain D>
D int32 matrixLookupRow (D int32[[2]] mat, D uint rowIndex)
 
template<domain D>
D int matrixLookupRow (D int[[2]] mat, D uint rowIndex)
 
template<domain D>
D float32 matrixLookupRow (D float32[[2]] mat, D uint rowIndex)
 
template<domain D>
D float64 matrixLookupRow (D float64[[2]] mat, D uint rowIndex)
 
template<domain D>
D bool matrixLookupColumn (D bool[[2]] mat, D uint colIndex)
 
template<domain D>
D uint8 matrixLookupColumn (D uint8[[2]] mat, D uint colIndex)
 
template<domain D>
D uint16 matrixLookupColumn (D uint16[[2]] mat, D uint colIndex)
 
template<domain D>
D uint32 matrixLookupColumn (D uint32[[2]] mat, D uint colIndex)
 
template<domain D>
D uint matrixLookupColumn (D uint[[2]] mat, D uint colIndex)
 
template<domain D>
D int8 matrixLookupColumn (D int8[[2]] mat, D uint colIndex)
 
template<domain D>
D int16 matrixLookupColumn (D int16[[2]] mat, D uint colIndex)
 
template<domain D>
D int32 matrixLookupColumn (D int32[[2]] mat, D uint colIndex)
 
template<domain D>
D int matrixLookupColumn (D int[[2]] mat, D uint colIndex)
 
template<domain D>
D float32 matrixLookupColumn (D float32[[2]] mat, D uint colIndex)
 
template<domain D>
D float64 matrixLookupColumn (D float64[[2]] mat, D uint colIndex)
 
template<domain D>
D bool matrixLookup (D bool[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D uint8 matrixLookup (D uint8[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D uint16 matrixLookup (D uint16[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D uint32 matrixLookup (D uint32[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D uint matrixLookup (D uint[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D int8 matrixLookup (D int8[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D int16 matrixLookup (D int16[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D int32 matrixLookup (D int32[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D int matrixLookup (D int[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D float32 matrixLookup (D float32[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D float64 matrixLookup (D float64[[2]] mat, D uint rowIndex, D uint columnIndex)
 
template<domain D>
D bool vectorUpdate (D bool[[1]] vec, D uint index, D bool newValue)
 
template<domain D>
D int8 vectorUpdate (D int8[[1]] vec, D uint index, D int8 newValue)
 
template<domain D>
D int16 vectorUpdate (D int16[[1]] vec, D uint index, D int16 newValue)
 
template<domain D>
D int32 vectorUpdate (D int32[[1]] vec, D uint index, D int32 newValue)
 
template<domain D>
D int64 vectorUpdate (D int64[[1]] vec, D uint index, D int64 newValue)
 
template<domain D>
D uint8 vectorUpdate (D uint8[[1]] vec, D uint index, D uint8 newValue)
 
template<domain D>
D uint16 vectorUpdate (D uint16[[1]] vec, D uint index, D uint16 newValue)
 
template<domain D>
D uint32 vectorUpdate (D uint32[[1]] vec, D uint index, D uint32 newValue)
 
template<domain D>
D uint vectorUpdate (D uint64[[1]] vec, D uint index, D uint64 newValue)
 
template<domain D>
D bool matrixUpdateRow (D bool[[2]] mat, D uint rowIndex, D bool[[1]] newRow)
 
template<domain D>
D uint8 matrixUpdateRow (D uint8[[2]] mat, D uint rowIndex, D uint8[[1]] newRow)
 
template<domain D>
D uint16 matrixUpdateRow (D uint16[[2]] mat, D uint rowIndex, D uint16[[1]] newRow)
 
template<domain D>
D uint32 matrixUpdateRow (D uint32[[2]] mat, D uint rowIndex, D uint32[[1]] newRow)
 
template<domain D>
D uint matrixUpdateRow (D uint[[2]] mat, D uint rowIndex, D uint[[1]] newRow)
 
template<domain D>
D int8 matrixUpdateRow (D int8[[2]] mat, D uint rowIndex, D int8[[1]] newRow)
 
template<domain D>
D int16 matrixUpdateRow (D int16[[2]] mat, D uint rowIndex, D int16[[1]] newRow)
 
template<domain D>
D int32 matrixUpdateRow (D int32[[2]] mat, D uint rowIndex, D int32[[1]] newRow)
 
template<domain D>
D int matrixUpdateRow (D int[[2]] mat, D uint rowIndex, D int[[1]] newRow)
 
template<domain D>
D bool matrixUpdateColumn (D bool[[2]] mat, D uint colIndex, D bool[[1]] newCol)
 
template<domain D>
D uint8 matrixUpdateColumn (D uint8[[2]] mat, D uint colIndex, D uint8[[1]] newCol)
 
template<domain D>
D uint16 matrixUpdateColumn (D uint16[[2]] mat, D uint colIndex, D uint16[[1]] newCol)
 
template<domain D>
D uint32 matrixUpdateColumn (D uint32[[2]] mat, D uint colIndex, D uint32[[1]] newCol)
 
template<domain D>
D uint matrixUpdateColumn (D uint[[2]] mat, D uint colIndex, D uint[[1]] newCol)
 
template<domain D>
D int8 matrixUpdateColumn (D int8[[2]] mat, D uint colIndex, D int8[[1]] newCol)
 
template<domain D>
D int16 matrixUpdateColumn (D int16[[2]] mat, D uint colIndex, D int16[[1]] newCol)
 
template<domain D>
D int32 matrixUpdateColumn (D int32[[2]] mat, D uint colIndex, D int32[[1]] newCol)
 
template<domain D>
D int matrixUpdateColumn (D int[[2]] mat, D uint colIndex, D int[[1]] newCol)
 
template<domain D>
D bool matrixUpdate (D bool[[2]] mat, D uint rowIndex, D uint columnIndex, D bool newValue)
 
template<domain D>
D uint8 matrixUpdate (D uint8[[2]] mat, D uint rowIndex, D uint columnIndex, D uint8 newValue)
 
template<domain D>
D uint16 matrixUpdate (D uint16[[2]] mat, D uint rowIndex, D uint columnIndex, D uint16 newValue)
 
template<domain D>
D uint32 matrixUpdate (D uint32[[2]] mat, D uint rowIndex, D uint columnIndex, D uint32 newValue)
 
template<domain D>
D uint matrixUpdate (D uint[[2]] mat, D uint rowIndex, D uint columnIndex, D uint newValue)
 
template<domain D>
D int8 matrixUpdate (D int8[[2]] mat, D uint rowIndex, D uint columnIndex, D int8 newValue)
 
template<domain D>
D int16 matrixUpdate (D int16[[2]] mat, D uint rowIndex, D uint columnIndex, D int16 newValue)
 
template<domain D>
D int32 matrixUpdate (D int32[[2]] mat, D uint rowIndex, D uint columnIndex, D int32 newValue)
 
template<domain D>
D int matrixUpdate (D int[[2]] mat, D uint rowIndex, D uint columnIndex, D int newValue)