fix: implement order-preserving encoding for signed integers