Click a card. The next question appears under it, and the last card is a
complete program. Each program is also a file under `examples/mwe/` and
compiles from the repository root:
c++ -std=c++17 -march=native -I include -I thirdparty examples/mwe/point.cpp
The same choices are listed as links under the cards.
Types in full are on [Input types](@ref input_types) and [Output types](@ref output_types).
\htmlinclude mwe/chooser.html
## The same choices, as links {#which_links}
- A dealer knows `alpha` and `beta`. Two parties each get a key: [dpf::make_dpf](@ref dpf/incremental.hpp).
- The parties already share `alpha` and want a reusable key: [dpf::make_dpf_doerner_shelat](@ref dpf/doerner_shelat.hpp).
- The parties want the answer and no key: [dpf::geneval_point](@ref dpf/geneval.hpp), [dpf::geneval_interval](@ref dpf/geneval.hpp), [dpf::geneval_cmp](@ref dpf/geneval.hpp).
- Three evaluators: [dpf::make_dpf3](@ref dpf/dpf3.hpp) and [dpf::make_dpf3_doerner_shelat](@ref dpf/dpf3_ds.hpp).
- A leaf share must enter a bit circuit the key does not compute: [b2y](@ref yao_leaf) and the netlist on that page. A comparison, an interval, or a public-offset polynomial stays a key.