<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def exp(vector):
 """ Computes a per-element exponent of the passed-in vector. Args: vector (TYPE):
 Description """

    weld_type = None
    if isinstance(vector, LazyOpResult):
        weld_type = vector.weld_type
        vector = vector.expr
    elif isinstance(vector, np.ndarray):
        weld_type = numpy_weld_impl.numpy_to_weld_type_mapping[
            str(vector.dtype)]
    return NumpyArrayWeld(numpy_weld_impl.exp(vector, weld_type), WeldDouble())