# Path: signalz/misc.py
# def check_type_or_raise(obj, expected_type, obj_name):
#     """
#     This fuction raises error if the object does not have expected type.
#     """
#     if not isinstance(obj, expected_type):
#         raise TypeError(
#             "'{}' must be {}, not {}".format(
#                 obj_name,
#                 expected_type.__name__,
#                 obj.__class__.__name__)
#             )


import numpy as np
import signalz
from signalz.misc import check_type_or_raise
      if the `size` is not defined
    
    * `size` - lenght of desired output in samples (int),
      if this variable is defined,
      it determines the size of data instead of `steps_count`
             
    * `distribution` - distribution of random numbers (str), Options are
      `normal` and `uniform`.
      
    * `maximum` - maximal value for steps (float), this value is used
      in case of uniform distribution.
    
    * `minimum` - minimal value for steps (float), this value is used
      in case of uniform distribution.
    
    * `std` - standard deviation of random variable (float), this value
      is used in case of gaussian (normal) distribution.
      
    * `mean` - mean value of random variable (float), this value
      is used in case of gaussian (normal) distribution.
    
    **Returns:**
    
    * vector of values representing desired steps (1d array)
    """ 
    # check values
    check_type_or_raise(steps_count, int, "steps count")
    check_type_or_raise(step_width, int, "step width")
    # get correct number of steps if size is defined
    if not size is None:

# Path: signalz/misc.py
# def check_type_or_raise(obj, expected_type, obj_name):
#     """
#     This fuction raises error if the object does not have expected type.
#     """
#     if not isinstance(obj, expected_type):
#         raise TypeError(
#             "'{}' must be {}, not {}".format(
#                 obj_name,
#                 expected_type.__name__,
#                 obj.__class__.__name__)
#             )


# Path: signalz/generators/random_steps.py
import numpy as np
import signalz
from signalz.misc import check_type_or_raise

      if the `size` is not defined
    
    * `size` - lenght of desired output in samples (int),
      if this variable is defined,
      it determines the size of data instead of `steps_count`
             
    * `distribution` - distribution of random numbers (str), Options are
      `normal` and `uniform`.
      
    * `maximum` - maximal value for steps (float), this value is used
      in case of uniform distribution.
    
    * `minimum` - minimal value for steps (float), this value is used
      in case of uniform distribution.
    
    * `std` - standard deviation of random variable (float), this value
      is used in case of gaussian (normal) distribution.
      
    * `mean` - mean value of random variable (float), this value
      is used in case of gaussian (normal) distribution.
    
    **Returns:**
    
    * vector of values representing desired steps (1d array)
    """ 
    # check values
    check_type_or_raise(steps_count, int, "steps count")
    check_type_or_raise(step_width, int, "step width")
    # get correct number of steps if size is defined
    if not size is None:

        check_type_or_raise(size, int, "size")