# noise_gen.py
# Тема 8. Генератор равномерного белого шума

import random

def generate_uniform_noise(min_val, max_val, num_samples, filename):
    """
    Генерирует последовательность равномерно распределённого белого шума.
    
    Аргументы:
        min_val (float): нижняя граница диапазона
        max_val (float): верхняя граница диапазона
        num_samples (int): количество отсчётов
        filename (str): имя текстового файла для записи
    
    Возвращает:
        list: список сгенерированных чисел
    """
    # Генерация списка
    noise = [random.uniform(min_val, max_val) for _ in range(num_samples)]
    
    # Запись в файл: по 3 элемента в строке, через запятую
    with open(filename, 'w', encoding='utf-8') as f:
        for i in range(0, len(noise), 3):
            line = noise[i:i+3]
            f.write(','.join(f"{x:.6f}" for x in line) + '\n')
    
    return noise
