|
template<domain D :shared3p , dim N> |
D float32 | choose (D bool[[N]] cond, D float32[[N]] first, D float32[[N]] second) |
|
template<domain D :shared3p , dim N> |
D float64 | choose (D bool[[N]] cond, D float64[[N]] first, D float64[[N]] second) |
|
template<domain D, dim N> |
D fix32 | choose (D bool[[N]] cond, D fix32[[N]] first, D fix32[[N]] second) |
|
template<domain D, dim N> |
D fix64 | choose (D bool[[N]] cond, D fix64[[N]] first, D fix64[[N]] second) |
|
Function for obliviously choosing one of the inputs.
- Note
- D - shared3p protection domain
-
Supported types - float32 / float64 / fix32 / fix64
- Parameters
-
cond | - a boolean array |
first | - values for true case |
second | - values for false case |
- Returns
- one of the input arrays that was obliviously chosen with the condition. if true, array first is returned else second is returned
- Leakage
- None
◆ choose() [1/4]
D fix32 choose |
( |
D bool[[N]] |
cond, |
|
|
D fix32[[N]] |
first, |
|
|
D fix32[[N]] |
second |
|
) |
| |
◆ choose() [2/4]
D fix64 choose |
( |
D bool[[N]] |
cond, |
|
|
D fix64[[N]] |
first, |
|
|
D fix64[[N]] |
second |
|
) |
| |
◆ choose() [3/4]
D float32 choose |
( |
D bool[[N]] |
cond, |
|
|
D float32[[N]] |
first, |
|
|
D float32[[N]] |
second |
|
) |
| |
◆ choose() [4/4]
D float64 choose |
( |
D bool[[N]] |
cond, |
|
|
D float64[[N]] |
first, |
|
|
D float64[[N]] |
second |
|
) |
| |