# Path: signalz/generators/gaussian_white_noise.py
# def gaussian_white_noise(n, offset=0, std=1):
#     """
#     Random values with normal distribution.
# 
#     **Args:**
#     
#     * `n` - length of the output data (int) - how many samples will be on output
#     
#     **Kwargs:**
# 
#     * `offset` - mean value (float)
#          
#     * `std` - standard deviation (float)
#     
#     **Returns:**
#     
#     * vector of values representing the noise (1d array)   
#     """
#     return np.random.normal(offset, std, n)


import numpy as np
import signalz
from signalz.generators.gaussian_white_noise import gaussian_white_noise
      * `"none"` - input noise are zeros
        
      * manually created array of inputs of length `n` 
         
    * `initials` - initial values (1d array) of the same size as `a`
    
    **Returns:**
    
    * `x` - output of the AR model (1d array)    
    """
    a = np.array(a)
    taps = a.shape[-1]
    a = signalz.matrixize_input(a, n)
    # handle noise
    if type(noise) == str:
        if noise == "none":
            noise = np.zeros(n)
        elif noise == "white":
            noise = gaussian_white_noise(n)
    else:
        try:
            noise = np.array(noise)
        except:
            raise ValueError('Noise is not numpy array or similar.')
        if not len(noise) == n:
            raise ValueError('Noise array is not same length as n.')
    x = np.zeros(n)
    # handle initials
    if type(initials) == str:
        if initials == "random":

# Path: signalz/generators/gaussian_white_noise.py
# def gaussian_white_noise(n, offset=0, std=1):
#     """
#     Random values with normal distribution.
# 
#     **Args:**
#     
#     * `n` - length of the output data (int) - how many samples will be on output
#     
#     **Kwargs:**
# 
#     * `offset` - mean value (float)
#          
#     * `std` - standard deviation (float)
#     
#     **Returns:**
#     
#     * vector of values representing the noise (1d array)   
#     """
#     return np.random.normal(offset, std, n)


# Path: signalz/generators/autoregressive_model.py
import numpy as np
import signalz
from signalz.generators.gaussian_white_noise import gaussian_white_noise

      * `"none"` - input noise are zeros
        
      * manually created array of inputs of length `n` 
         
    * `initials` - initial values (1d array) of the same size as `a`
    
    **Returns:**
    
    * `x` - output of the AR model (1d array)    
    """
    a = np.array(a)
    taps = a.shape[-1]
    a = signalz.matrixize_input(a, n)
    # handle noise
    if type(noise) == str:
        if noise == "none":
            noise = np.zeros(n)
        elif noise == "white":
            noise = gaussian_white_noise(n)
    else:
        try:
            noise = np.array(noise)
        except:
            raise ValueError('Noise is not numpy array or similar.')
        if not len(noise) == n:
            raise ValueError('Noise array is not same length as n.')
    x = np.zeros(n)
    # handle initials
    if type(initials) == str:
        if initials == "random":

            x[:taps] = gaussian_white_noise(taps)