forked from mirrors/qmk_userspace
Strip out features to allow minimum firmware sizes (#8645)
This commit is contained in:
parent
c217186bea
commit
58a9c84d6b
6 changed files with 30 additions and 11 deletions
|
@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
|
||||
// bit population - return number of on-bit
|
||||
uint8_t bitpop(uint8_t bits) {
|
||||
__attribute__((noinline)) uint8_t bitpop(uint8_t bits) {
|
||||
uint8_t c;
|
||||
for (c = 0; bits; c++) bits &= bits - 1;
|
||||
return c;
|
||||
|
@ -42,7 +42,7 @@ uint8_t bitpop32(uint32_t bits) {
|
|||
|
||||
// most significant on-bit - return highest location of on-bit
|
||||
// NOTE: return 0 when bit0 is on or all bits are off
|
||||
uint8_t biton(uint8_t bits) {
|
||||
__attribute__((noinline)) uint8_t biton(uint8_t bits) {
|
||||
uint8_t n = 0;
|
||||
if (bits >> 4) {
|
||||
bits >>= 4;
|
||||
|
@ -105,7 +105,7 @@ uint8_t biton32(uint32_t bits) {
|
|||
return n;
|
||||
}
|
||||
|
||||
uint8_t bitrev(uint8_t bits) {
|
||||
__attribute__((noinline)) uint8_t bitrev(uint8_t bits) {
|
||||
bits = (bits & 0x0f) << 4 | (bits & 0xf0) >> 4;
|
||||
bits = (bits & 0b00110011) << 2 | (bits & 0b11001100) >> 2;
|
||||
bits = (bits & 0b01010101) << 1 | (bits & 0b10101010) >> 1;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue