Я пытаюсь воспроизвести точное поведение Erlang phash на другом языке (например, Ruby).Кто-нибудь знает детали его реализации?
В принципе, если в Erlang: erlang:phash(X, n) -> Y Я хочу, чтобы phash(X,n) = Y в Ruby.
erlang:phash(X, n) -> Y
phash(X,n) = Y
Чтобы увидеть, как это работает, проверьте исходный код: https://github.com/erlang/otp/blob/cbd1378ee1fde835e55614bac9290b281bafe49a/erts/emulator/beam/utils.c#L644
Но вы не можете иметь «точное» поведение phash на другом языке - просто потому, что у вас нет доступных типов данных erlang.(если, конечно, вы не создадите свои собственные отображения)