Witajcie,
Proszę was o poprawienie mojej interpretacji makr i pomoc w interpretacji nieznanych.
Pierwsze:
#define TAG0(p) ((int)((INT_PTR)(p) & 0x1))
-iloczyn bitowy (p) & 0x1- więc jeżeli p(lsb) =1 to po iloczynie p(lsb) =1 a p(lsb) =0 to po iloczynie p(lsb) =0
-rzutowanie na typ INT_PTR - ((INT_PTR)(p) & 0x1)
-następnie rzutowanie na typ int - (int)((INT_PTR)(p) & 0x1)
Drugie:
#define BDD_IS_OUTPOS(f) (!TAG0(f))
- wywołanie poprzedniego makro z negacją, wiec wynikiem czego jest ... co?
Trzecie:
funkcja(f)|= (1<<BDD_IS_OUTPOS(f));
-...?
Dzięki za pomoc.
Pozdrawiam
M