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

Replace Trailing Zeros #93

Closed
olegmrzv opened this issue Jan 27, 2022 · 0 comments
Closed

Replace Trailing Zeros #93

olegmrzv opened this issue Jan 27, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request
Projects

Comments

@olegmrzv
Copy link
Contributor

    [MethodImpl(MethodImplOptions.AggressiveInlining)]
    private int NumberOfTrailingZeros(int i) {
        switch (((uint)(i & -i) * 0x077CB531u) >> 27) {
            case 0: return 0;
            case 1: return 1;
            case 2: return 28;
            case 3: return 2;
            case 4: return 29;
            case 5: return 14;
            case 6: return 24;
            case 7: return 3;
            case 8: return 30;
            case 9: return 22;
            case 10: return 20;
            case 11: return 15;
            case 12: return 25;
            case 13: return 17;
            case 14: return 4;
            case 15: return 8;
            case 16: return 31;
            case 17: return 27;
            case 18: return 13;
            case 19: return 23;
            case 20: return 21;
            case 21: return 19;
            case 22: return 16;
            case 23: return 7;
            case 24: return 26;
            case 25: return 12;
            case 26: return 18;
            case 27: return 6;
            case 28: return 11;
            case 29: return 5;
            case 30: return 10;
            case 31: return 9;
        }
        return 0;
    }
@olegmrzv olegmrzv added the enhancement New feature or request label Jan 27, 2022
@olegmrzv olegmrzv added this to To Do in Roadmap via automation Jan 27, 2022
@olegmrzv olegmrzv self-assigned this Jan 27, 2022
olegmrzv added a commit that referenced this issue Jan 27, 2022
@olegmrzv olegmrzv moved this from To Do to Done in Roadmap May 3, 2022
@olegmrzv olegmrzv closed this as completed May 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Roadmap
  
Done
Development

No branches or pull requests

1 participant