clc; clear;close all;
rng('default')

% % number of samples per distribution
% %
% N = 50000;
% 
% % class 1
% %
% mu1 = [4, 5];
% sigma1 = [1, 0; 0, 1];
% zt1 = gen_rand(mu1, N, sigma1, 5);
% lbl1 = zeros(N * 5, 1);
% zt1 = [lbl1, zt1];
% 
% % class 2
% %
% mu2 = [-3, -3];
% sigma2 = [2, 0; 0, 2];
% zt2 = gen_rand(mu2, N, sigma2, 5);
% lbl2 = ones(N * 5, 1);
% zt2 = [lbl2, zt2];
% 
% zt = [zt1; zt2];
% writematrix(zt, 'train.csv', 'Delimiter','comma');

% % dev samples
% %
% N2 = 25000;
% 
% % class 1
% %
% mu1 = [4, 4];
% sigma1 = [1, 0; 0, 1];
% zd1 = gen_rand(mu1, N2, sigma1, 5);
% lbl1 = zeros(N2 * 5, 1);
% zd1 = [lbl1, zd1];
% 
% % class 2
% %
% mu2 = [-1, -2];
% sigma2 = [2, 0; 0, 2];
% zd2 = gen_rand(mu2, N2, sigma2, 5);
% lbl2 = ones(N2 * 5, 1);
% zd2 = [lbl2, zd2];
% 
% zd = [zd1; zd2];
% writematrix(zd, 'dev.csv', 'Delimiter','comma');

% 
% eval samples
%
N3 = 62500;

% class 1
%
mu1 = [-1, 3];
sigma1 = [1.5, 0; 0, 1.5];
ze1 = gen_rand(mu1, N3, sigma1, 2);
lbl1 = zeros(N3 * 2, 1);
ze1 = [lbl1, ze1];

% class 2
%
mu2 = [2, -2];
sigma2 = [2, 0; 0, 2];
ze2 = gen_rand(mu2, N3, sigma2, 2);
lbl2 = ones(N3 * 2, 1);
ze2 = [lbl2, ze2];

ze = [ze1; ze2];
writematrix(ze, 'eval.csv', 'Delimiter','comma');