def _conj(x, **kwargs):
    if (x.dtype == tf.float32):
        return tf.cast(x, tf.complex64)
    elif (x.dtype == tf.float64):
        return tf.cast(x, tf.complex128)
    else:
        return tf.math.conj(x)
def _conj(x, **kwargs):
    if (x.dtype == tf.float32):
        return tf.cast(x, tf.complex64)
    elif (x.dtype == tf.float64):
        return tf.cast(x, tf.complex128)
    else:
        return tf.math.conj(x)