<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sigfig_int(values, sigfig):
 """ Convert a set of floating point values into integers with a specified number of significant figures and an exponent. Parameters values: (n,) float or int, array of values sigfig: (n,) int, number of significant figures to keep Returns as_int: (n,) int, every value[i] has sigfig[i] digits multiplier: (n, int), exponent, so as_int * 10 ** multiplier is the same order of magnitude as the input """

    values = np.asanyarray(values).reshape(-1)
    sigfig = np.asanyarray(sigfig, dtype=np.int).reshape(-1)

    if sigfig.shape != values.shape:
        raise ValueError('sigfig must match identifier')

    exponent = np.zeros(len(values))
    nonzero = np.abs(values) > TOL_ZERO
    exponent[nonzero] = np.floor(np.log10(np.abs(values[nonzero])))

    multiplier = exponent - sigfig + 1

    as_int = np.round(values / (10**multiplier)).astype(np.int32)

    return as_int, multiplier