mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-06 06:03:23 +00:00
Optimize ceil_log2 function
This commit is contained in:
parent
752553d8e9
commit
bafbb9ee90
2 changed files with 5 additions and 3 deletions
|
@ -151,14 +151,16 @@ void yosys_banner()
|
|||
|
||||
int ceil_log2(int x)
|
||||
{
|
||||
#if defined(__GNUC__)
|
||||
return x > 1 ? (8*sizeof(int)) - __builtin_clz(x-1) : 0;
|
||||
#else
|
||||
if (x <= 0)
|
||||
return 0;
|
||||
|
||||
for (int i = 0; i < 32; i++)
|
||||
if (((x-1) >> i) == 0)
|
||||
return i;
|
||||
|
||||
log_abort();
|
||||
#endif
|
||||
}
|
||||
|
||||
std::string stringf(const char *fmt, ...)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue