bachelor-project/src/gen_data.sh

44 lines
982 B
Bash
Executable File

#!/usr/bin/env bash
patient_pref() {
printf '%d %d' "-100" "$1"
}
therapist_pref() {
printf '%d %d' "-200" "$1"
}
secret_share() {
local secret="$1"
share_0="$(( RANDOM % (secret / 2 + 1) ))"
share_1="$(( RANDOM % (secret / 2 + 1) ))"
share_2="$(( secret - (share_0 + share_1) ))"
}
max_index=5
iter="$1"
for _ in $(seq "$iter"); do
rand="$(( (RANDOM % max_index) + 1 ))"
secret_share "$rand"
p_data_s+=( "$rand" )
p_data_0+=( "$(patient_pref $share_0)" )
p_data_1+=( "$(patient_pref $share_1)" )
p_data_2+=( "$(patient_pref $share_2)" )
done
t_data_s=( $(shuf -e "${p_data_s[@]}") )
for i in $(seq 0 "$(( iter - 1 ))"); do
secret_share "${t_data_s[$i]}"
t_data_0+=( "$(therapist_pref $share_0)" )
t_data_1+=( "$(therapist_pref $share_1)" )
t_data_2+=( "$(therapist_pref $share_2)" )
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