You can express ffs in terms of nlz, which is available as Int::leading_zeros and appears to be implemented with LLVM intrinsics for most types.
On Mon, Jan 12, 2015 at 10:17 AM, Kevin McGuire <kmcg3...@gmail.com> wrote: > On Mon, Jan 12, 2015 at 11:12 AM, Matthew Hammer <ham...@cs.umd.edu> wrote: >> Hi Rust Developers, >> I’m in need of this bit-level operation: >> >> http://en.wikipedia.org/wiki/Find_first_set >> >> I’m happy to implement it as a loop, but it seems like many architectures >> support it directly, as does libc. >> >> Does anyone know if this is implemented in the Rust standard library or >> among the current primitives? >> >> Searching for “ffs” in the source tree got me nowhere. >> >> Thanks, >> -Matt > > I know that there have been people who have brought this to attention. > I know there is likely someone who has written a solution, but I can > not remember where it was located. > > I do remember that it involved the usage of inline assembly and > #[cfg()] directives. It essentially provided a general implementation > that worked everywhere, then it provided implementations specific to a > certain architecture. By using the config attribute one could toggle > between the generic or architecture specific method being implemented > and thus callable. > > I do not know for certain if it is or is not implemented in the > standard library, but I have the feeling that it is not. I tried to > look for it but failed. > _______________________________________________ > Rust-dev mailing list > Rust-dev@mozilla.org > https://mail.mozilla.org/listinfo/rust-dev -- Peter Marheine Don't Panic _______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev