why bitand function is not running even i specified the assumedtype value still error comes
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
for i = 1:2^samples-2
j = bitset(bitshift(i,1),1,bitget(i,samples)); %rotate left
numt = sum(bitget(bitxor(i,j),1:samples)); %number of 1->0 and 0->1 transitions
if numt == 2 %Uniform pattern
n=sum(bitget(i,1:samples)); %Number of 1-bits
c= bitcmp(j,'uint8');
b=bitand(i,c,'unit64');
r=find(bitget( b,1:samples)); %Rotation index of the bit pattern
r=mod( floor(n/2)+r , samples);
index = (n-1)*samples + r;
table(i+1) = index;
else %Non-uniform
table(i+1) = newMax - 1;
end
end
Here samples=8;
0 comentarios
Respuestas (1)
Walter Roberson
el 13 de Sept. de 2018
uint64 not unit64
1 comentario
Guillaume
el 13 de Sept. de 2018
Considering that c is limited to 8 bits, might as well make that uint8 for the bitand as well.
Note that j should be limited to 8 bits prior to the bitcmp otherwise bitcmp will throw an error for larger i (e.g. when i = 207), so:
j = mod(j, 256);
Ver también
Categorías
Más información sobre Functions for Programming and Data Types en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!