#include <oxstd.h>
#import <pcfimldgp>

main()
{
    decl dgp = new PcFimlDgp(2,1);

    dgp.Create(1, 1980, 1, 0, 1, 100);
    
    dgp.Select(Y_VAR, {"Ya", 0, 1});
    dgp.Select(Y_VAR, {"Yb", 0, 1});
    dgp.Select(Z_VAR, {"Za", 0, 0});
    dgp.Select(Z_VAR, {"Constant", 0, 0});
    
    dgp.SetYParameter((<0.9,0;0.1,0.8> ~ <0.2;0.2> ~ <1;0>)');
    dgp.SetZParameter(<0.5>);
    dgp.SetDistribution(U_DGP, MVNORMAL, zeros(2,1),
        ones(2,2)/10 + unit(2)/5);

    dgp.Prepare();
    dgp.Print();

    print("%c", {"Ya", "Yb", "Ua", "Ub"}, dgp.GenerateTo(6));
    
    delete dgp;
}

