def generate()

in data/gmm/gmm-data-gen.py [0:0]


def generate(data_uniform, data_normal, D, k, n):

    gamma = 1.
    m = 0

    view_uniform = data_uniform[:]
    view_normal = data_normal[:]

    filename = f"gmm_d{D}_K{k}.txt"

    # write data to file
    with open(os.path.join(os.getcwd(), f"data/gmm/{get_points_dir_name(n)}", filename), 'w') as outfile:

        outfile.write(f"{D} {k} {n}\n")

        # alpha
        for i in range(k):
            outfile.write(f"{view_normal[0]:.6f}\n")
            view_normal = view_normal[1:]

        # mu
        for i in range(k):
            for j in range(D):
                outfile.write(f"{view_uniform[0]:.6f} ")
                view_uniform = view_uniform[1:]
            outfile.write("\n")

        # q
        for i in range(k):
            for j in range(D + D*(D-1)//2):
                outfile.write(f"{view_normal[0]:.6f} ")
                view_normal = view_normal[1:]
            outfile.write("\n")

        # x
        if replicate_point(n):
            for j in range(D):
                outfile.write(f"{view_normal[0]:.6f} ")
                view_normal = view_normal[1:]
            outfile.write("\n")
        else:
            for i in range(n):
                for j in range(D):
                    outfile.write(f"{view_normal[0]:.6f} ")
                    view_normal = view_normal[1:]
                outfile.write("\n")

        outfile.write(f"{gamma:.6f} {m} \n")