Erlang Phash 实现

发布于 2024-10-04 20:16:11 字数 307 浏览 3 评论 0原文

我试图重现 Erlang phash 用另一种语言(例如 Ruby)。有谁知道其实施细节?

基本上,如果在 Erlang 中: erlang:phash(X, n) -> erlang:phash(X, n) ->是 我想要那个 Ruby 中的 phash(X,n) = Y

I'm trying to reproduce the exact behavior of Erlang phash in another language (Ruby for example). Does anyone know the details of its implementation?

Basically, if in Erlang :
erlang:phash(X, n) -> Y
I want that
phash(X,n) = Y in Ruby.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾城泪 2024-10-11 20:16:11

要了解其工作原理,请检查原始代码: https://github.com/erlang/otp/blob/cbd1378ee1fde835e55614bac9290b281bafe49a/erts/emulator/beam/utils.c#L644

但是你不能在另一种语言中拥有“精确”的 phash 行为 - 仅仅因为你不这样做那里没有可用的 erlang 数据类型。 (当然,除非您创建自己的映射)

To see how it works, check the original code: https://github.com/erlang/otp/blob/cbd1378ee1fde835e55614bac9290b281bafe49a/erts/emulator/beam/utils.c#L644

But you cannot have "exact" behaviour of phash in another language - simply because you don't have erlang's datatypes available there. (unless you create your own mappings of course)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文