ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
717882
IBAH (06.12.2016 15:22, просмотров: 3527)
Макросы убер алес, короче хвастаюсь 
#ifndef __LOG2_H
#define __LOG2_H

#define xlog2(a,b)  (  (a>>b) &1)
#define zlog2(a,b)  ((~(a>>b))&1)
#define LOG2(x) ( \
(31*xlog2(x,31))+ \
(30*xlog2(x,30)*zlog2(x,31))+ \
(29*xlog2(x,29)*zlog2(x,31)*zlog2(x,30))+ \
(28*xlog2(x,28)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29))+ \
(27*xlog2(x,27)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28))+ \
(26*xlog2(x,26)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27))+ \
(25*xlog2(x,25)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26))+ \
(24*xlog2(x,24)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25))+ \
(23*xlog2(x,23)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24))+ \
(22*xlog2(x,22)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23))+ \
(21*xlog2(x,21)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22))+ \
(20*xlog2(x,20)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21))+ \
(19*xlog2(x,19)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20))+ \
(18*xlog2(x,18)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19))+ \
(17*xlog2(x,17)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18))+ \
(16*xlog2(x,16)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17))+ \
(15*xlog2(x,15)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16))+ \
(14*xlog2(x,14)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15))+ \
(13*xlog2(x,13)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14))+ \
(12*xlog2(x,12)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13))+ \
(11*xlog2(x,11)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12))+ \
(10*xlog2(x,10)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11))+ \
( 9*xlog2(x, 9)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10))+ \
( 8*xlog2(x, 8)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) )+ \
( 7*xlog2(x, 7)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) *zlog2(x,8) )+ \
( 6*xlog2(x, 6)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) *zlog2(x,8) *zlog2(x,7) )+ \
( 5*xlog2(x, 5)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) *zlog2(x,8) *zlog2(x,7) *zlog2(x,6) )+ \
( 4*xlog2(x, 4)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) *zlog2(x,8) *zlog2(x,7) *zlog2(x,6) *zlog2(x,5) )+ \
( 3*xlog2(x, 3)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) *zlog2(x,8) *zlog2(x,7) *zlog2(x,6) *zlog2(x,5) *zlog2(x,4))+ \
( 2*xlog2(x, 2)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) *zlog2(x,8) *zlog2(x,7) *zlog2(x,6) *zlog2(x,5) *zlog2(x,4)*zlog2(x,3) )+ \
( 1*xlog2(x, 1)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) *zlog2(x,8) *zlog2(x,7) *zlog2(x,6) *zlog2(x,5) *zlog2(x,4)*zlog2(x,3) *zlog2(x,2) )+ \
( 0*xlog2(x, 0)*zlog2(x,31)*zlog2(x,30)*zlog2(x,29)*zlog2(x,28)*zlog2(x,27)*zlog2(x,26)*zlog2(x,25)*zlog2(x,24)*zlog2(x,23)*zlog2(x,22)*zlog2(x,21)*zlog2(x,20)*zlog2(x,19)*zlog2(x,18)*zlog2(x,17)*zlog2(x,16)*zlog2(x,15)*zlog2(x,14)*zlog2(x,13)*zlog2(x,12)*zlog2(x,11)*zlog2(x,10)*zlog2(x,9) *zlog2(x,8) *zlog2(x,7) *zlog2(x,6) *zlog2(x,5) *zlog2(x,4)*zlog2(x,3) *zlog2(x,2) *zlog2(x,1) ) \
) 


#endif