Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

fls32(3) [netbsd man page]

FFS32(3)						   BSD Library Functions Manual 						  FFS32(3)

ffs32, ffs64, fls32, fls64 -- find first or last bit set SYNOPSIS
#include <sys/bitops.h> int ffs32(uint32_t n); int ffs64(uint64_t n); int fls32(uint32_t n); int fls64(uint64_t n); DESCRIPTION
The ffs32() and ffs64() functions find the first bit set in n and return the index of that bit. Conversely, the fls32() and fls64() func- tions find the last bit set in n, returning the index of the bit. The search always starts from the bit 1 (the least significant bit). If the argument n is zero, each function returns zero. IMPLEMENTATION NOTES
The described functions are implemented as static inline functions in the <sys/bitops.h> header. The standard C library includes a more por- table ffs(3) for user applications. EXAMPLES
In the following example f = 3 and l = 7: uint32_t n = 0x44; /* 01000100 */ int f, l; f = ffs32(n); l = fls32(n); SEE ALSO
bitops(3), bits(3), bitstring(3), ffs(3), setbit(9) HISTORY
These functions first appeared in NetBSD 5.0. BSD
April 8, 2011 BSD

Check Out this Related Man Page

FAST_DIVIDE32(3)					   BSD Library Functions Manual 					  FAST_DIVIDE32(3)

fast_divide32, fast_divide32_prepare, fast_remainder32 -- fast 32bit division and remainder SYNOPSIS
#include <sys/bitops.h> uint32_t fast_divide32(uint32_t v, uint32_t div, uint32_t m, uint8_t s1, uint8_t s2); uint32_t fast_remainder32(uint32_t v, uint32_t div, uint32_t m, uint8_t s1, uint8_t s2); void fast_divide32_prepare(uint32_t div, uint32_t *m, uint8_t *s1, uint8_t *s2); DESCRIPTION
The fast_divide32 and fast_remainder32 functions compute the equivalent of v / div and v % div using optimised CPU instructions. The con- stants m, s1, and s2 must first be preset for a given value of div with the fast_divide32_prepare function. RATIONALE
These functions are useful for inner loops and other performance-sensitive tasks. The functions expand to code that is typically slightly larger than a plain division instruction, but requires less time to execute. The code for constant div arguments should be equivalent to the assembly created by GCC. EXAMPLES
The following example computes q = a / b and r = a % b: uint32_t a, b, q, r, m; uint8_t s1, s2; fast_divide32_prepare(b, &m, &s1, &s2); q = fast_divide32(a, b, m, s1, s2); r = fast_remainder32(a, b, m, s1, s2); SEE ALSO
bitops(3), div(3), remainder(3) Torbjorn Granlund and Peter L. Montgomery, "Division by Invariant Integers Using Multiplication", ACM SIGPLAN Notices, Issue 6, Volume 29,, 61-72, June 1994. HISTORY
The fast_divide32 function appeared in NetBSD 6.0. BSD
May 10, 2011 BSD
Man Page

6 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

32 / 64 bit

How to find whether the Unix is 32 or 64 bit in a Solaris machine Thanks LS1429 (4 Replies)
Discussion started by: ls1429
4 Replies

2. UNIX for Dummies Questions & Answers


hi, I have got a simple doubt, How to find whether i am working on 32 bit hp-ux or 64 bit hp-ux? is their any system call by which i can print it in my 'c ' code. Thanx in advance. (2 Replies)
Discussion started by: sushaga
2 Replies

3. UNIX for Dummies Questions & Answers

Command to find 32/64 bit in Linux

Hi, Can somebody tell me which command will help me find whether the OS is 32 bit or 64 bit. Regards, Giridhara Babu Tadikonda. (3 Replies)
Discussion started by: giribt
3 Replies

4. AIX

AIX OS bit info

Hi All, How do i find a bit info whether 32 bit or 64 bit of AIX operating system? Please help R (6 Replies)
Discussion started by: tenderfoot
6 Replies

5. UNIX for Dummies Questions & Answers

java1.6 for rhel5 32 bit

where can I download java1.6 for rhel5 32 bit. find it hard to search on the net. thanks (3 Replies)
Discussion started by: lhareigh890
3 Replies

6. Shell Programming and Scripting

Command to find 32/64 bit in Linux

Hi, Can somebody tell me which command will help me find whether the OS is 32 bit or 64 bit. OS is LInux Thanks (3 Replies)
Discussion started by: aish11
3 Replies