Bad value in EMD 1D

Hi,

First of all thank you for putting this library together!

I believe you have made a small mistake in the implementation of emd_1d at the below line: you should pass in the sorted arrays of weights.
https://github.com/rflamary/POT/blob/fa06bb377d083c61f1ac0b067aeeab0fca2b5e7b/ot/lp/__init__.py#L659

I've put a reproduction of the problem below.

Thanks,

Adrien

import numpy as np
import ot
import scipy.stats as st

n = 100
x = np.random.normal(0., 1., n)
y = np.random.normal(0.,1., n)

w_x = np.random.uniform(0., 1., n)
w_x /= w_x.sum()

w_y = np.random.uniform(0., 1., n)
w_y /= w_y.sum()

random_index_x = np.random.choice(n, n, replace=False)
random_index_y = np.random.choice(n, n, replace=False)

assert abs(ot.emd2_1d(x[random_index_x], y[random_index_y], w_x, w_y) - ot.emd2_1d(x, y, w_x, w_y)) > 1e-6, 'This should not have raised'

wasserstein_1 = ot.emd2_1d(x, y, w_x, w_y, metric='minkowski', p=1)

assert abs(wasserstein_1 - st.wasserstein_distance(x, y, w_x, w_y)) < 1e-6, 'This should be true'

M = ot.utils.cdist(x[:, None], y[: , None], metric='minkowski', p=1)
wasserstein_1_bis = ot.emd2(w_x, w_y, M)

assert abs(wasserstein_1 - wasserstein_1_bis) < 1e-6, 'This should be true'