Šis repozitorijs ir arhivēts. Ir iespējams aplūkot tā failus un to konēt, bet nav iespējams iesūtīt izmaiņas, kā arī izveidot jaunas problēmas vai izmaiņu pieprasījumus.
2011-07-20 15:32:52 +00:00
/*
Copyright 2011 Jun Wako < wakojun @ gmail . com >
This program is free software : you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation , either version 2 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2010-10-27 11:51:45 +00:00
# include "util.h"
2010-12-07 16:47:57 +00:00
// bit population
2010-10-27 11:51:45 +00:00
int bitpop ( uint8_t bits )
{
int c ;
for ( c = 0 ; bits ; c + + )
bits & = bits - 1 ;
return c ;
}
2010-12-07 16:47:57 +00:00
// most significant on-bit
2010-10-27 11:51:45 +00:00
int biton ( uint8_t bits )
{
int n = 0 ;
if ( bits > > 4 ) { bits > > = 4 ; n + = 4 ; }
if ( bits > > 2 ) { bits > > = 2 ; n + = 2 ; }
if ( bits > > 1 ) { bits > > = 1 ; n + = 1 ; }
return n ;
}