bachelor-project/src/gen_data.sh

46 lines
943 B
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
patient_pref() {
printf '%d %d' "-100" "$1"
}
therapist_pref() {
printf '%d %d' "-200" "$1"
}
secret_share() {
local secret="$1"
export share_0="$(( RANDOM % (secret / 2 + 1) ))"
export share_1="$(( RANDOM % (secret / 2 + 1) ))"
export share_2="$(( secret - (share_0 + share_1) ))"
}
max_case=5
iter="$1"
for _ in $(seq "$iter"); do
rand="$(( (RANDOM % max_case) + 1 ))"
secret_share "$rand"
p_data_s+=( "$rand" )
for j in $(seq 0 2); do
eval 'p_data_'$j'+=( $(patient_pref "$share_'$j'") )'
done
done
t_data_s=( $(shuf -e "${p_data_s[@]}") )
for i in $(seq 0 "$(( iter - 1 ))"); do
secret_share "${t_data_s[$i]}"
for j in $(seq 0 2); do
eval 't_data_'$j'+=( $(therapist_pref "$share_'$j'") )'
done
done
for i in $(seq 0 2); do
eval 'echo "${p_data_'$i'[*]} ${t_data_'$i'[*]}" > MP-SPDZ/Player-Data/Input-P'$i'-0'
done