def geom_avg(vals)->float:
    """
    Compute the geometric average of a list of values.
    
    :param vals: A list-like of numbers

    :return: The geometric average of the values.
    """
    rval=1.0
    count = 0
    for val in vals:
        val = vals[count]
        if val != 0:
            rval *= val
            count+=1
    if count != 0:
        rval = pow(rval, 1.0/count)
    return(rval)