Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is the special meaning of this algorithm:lt_deBruijn_to_idx[((x&-x)*deBruijn64)>>58] #103

Closed
Wenmj201582 opened this issue Oct 12, 2022 · 1 comment

Comments

@Wenmj201582
Copy link

Seqwish-v0.7.5 is ok when compiled with gcc, but an error occurs when compiled with the HUAWEI BiSheng Compiler 2.1.0. B010
image

After troubleshooting, the error is caused by the algorithm in line 432 of the deps/sdsl lite/include/sdsl/bits. hpp file,
image

1、What is the special significance of this algorithm? lt_deBruijn_to_idx[((x&-x)*deBruijn64)>>58], what does 58 bit shift represent;

2、If I use the Bi Sheng compiler, how can I solve this problem?

@AndreaGuarracino
Copy link
Collaborator

Why are you not using gcc or the standard clang?

Regarding the error, I was going to suggest asking directly on the sdsl-lite repository, but I've seen you are already there (simongog/sdsl-lite#452).

I was able to build seqwish with the standard clang. I've just pushed a few instructions in the README about how to do it: https://github.com/ekg/seqwish#clang. Since you are using some vendor-modified clang, please consider reporting this issue to the compiler vendor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants