SecreC 2 language 2.9.0 (2026.10)
Language and standard library reference
Loading...
Searching...
No Matches
Functions

Functions

template<domain D :shared2p , dim N>
D xor_uint8 choose (D bool cond, D xor_uint8 first, D xor_uint8 second)
 
template<domain D :shared2p , dim N>
D xor_uint16 choose (D bool cond, D xor_uint16 first, D xor_uint16 second)
 
template<domain D :shared2p , dim N>
D xor_uint32 choose (D bool cond, D xor_uint32 first, D xor_uint32 second)
 
template<domain D :shared2p , dim N>
D xor_uint64 choose (D bool cond, D xor_uint64 first, D xor_uint64 second)
 

Detailed Description

Function for obliviously choosing pointwise from the inputs.

Note
D - shared2p protection domain
Supported types - xor_uint8 / xor_uint16 / xor_uint32 / xor_uint64
Parameters
cond- a boolean vector
first- values for true case
second- values for false case
Returns
pointwise check if cond at a certain position is true or false. if true the element of first at that position is returned else the element of second at that position is returned

Function Documentation

◆ choose() [1/4]

template<domain D :shared2p , dim N>
D xor_uint16 choose ( D bool  cond,
D xor_uint16  first,
D xor_uint16  second 
)

◆ choose() [2/4]

template<domain D :shared2p , dim N>
D xor_uint32 choose ( D bool  cond,
D xor_uint32  first,
D xor_uint32  second 
)

◆ choose() [3/4]

template<domain D :shared2p , dim N>
D xor_uint64 choose ( D bool  cond,
D xor_uint64  first,
D xor_uint64  second 
)

◆ choose() [4/4]

template<domain D :shared2p , dim N>
D xor_uint8 choose ( D bool  cond,
D xor_uint8  first,
D xor_uint8  second 
)