import math


def make_ticks(start, end, step):
    """
    Makes equidistant ticks for given range and step size.
    
    Args:
        start: int or float
            Minimum value of the range.
        
        end: int or float
            Maximum value of the range.
        
        step: float
            Step size.
    
    Returns:
        (float,)
            Ticks values.
    """
    
    # init buffer
    ticks = []
    
    # ascending
    if start < end:
        tick = math.ceil(float(start) / step) * step
        while tick <= end:
            ticks.append(tick)
            tick += step
    
    # descending
    else:
        tick = math.floor(float(start) / step) * step
        while tick >= end:
            ticks.append(tick)
            tick -= step
    
    return tuple(ticks)