Browse Source

document, re-indent _mesa_ffsll()

tags/pre-merge-glsl-compiler-1
Brian 18 years ago
parent
commit
99c9bc386f
1 changed files with 18 additions and 10 deletions
  1. 18
    10
      src/mesa/main/imports.c

+ 18
- 10
src/mesa/main/imports.c View File

@@ -574,28 +574,36 @@ _mesa_ffs(int i)
#endif
}


/**
* Find position of first bit set in given value.
* XXX Warning: this function can only be used on 64-bit systems!
* \return position of lest significant bit set, starting at 1, return zero
* if no bits set.
*/
int
_mesa_ffsll(long long val)
{
#ifdef ffsll
return ffsll(val);
return ffsll(val);
#else
int bit;
int bit;

assert(sizeof(val) == 8);
assert(sizeof(val) == 8);

bit = ffs(val);
if (bit != 0)
return bit;
bit = ffs(val);
if (bit != 0)
return bit;

bit = ffs(val >> 32);
if (bit != 0)
return 32 + bit;
bit = ffs(val >> 32);
if (bit != 0)
return 32 + bit;

return 0;
return 0;
#endif
}


/**
* Return number of bits set in given GLuint.
*/

Loading…
Cancel
Save