% TestInvertIm
fmt='%s\t%6i\tInverse\t%6i\n';
cls='uint8';
fprintf('\n\n\n%s\n',cls)
x=uint8(0);
fprintf(fmt,cls,x,InvertIm(x))
x=uint8(128);
fprintf(fmt,cls,x,InvertIm(x))
x=uint8(255);
fprintf(fmt,cls,x,InvertIm(x))
cls='uint16';
fprintf('\n\n\n%s\n',cls)
x=uint16(0);
fprintf(fmt,cls,x,InvertIm(x))
x=uint16(intmax('uint16')/2);
fprintf(fmt,cls,x,InvertIm(x))
x=uint16(intmax('uint16'));
fprintf(fmt,cls,x,InvertIm(x))
cls='uint16 using 12 bits';
fprintf('\n\n\n%s\n',cls)
x=uint16(0);
fprintf(fmt,cls,x,InvertIm(x,12))
x=uint16(255);
fprintf(fmt,cls,x,InvertIm(x,12))
x=uint16(4095);
fprintf(fmt,cls,x,InvertIm(x,12))
x=uint16(intmax('uint16')/2);
fprintf(fmt,cls,x,InvertIm(x,12))
x=uint16(intmax('uint16'));
fprintf(fmt,cls,x,InvertIm(x,12))
cls='int8';
fprintf('\n\n\n%s\n',cls)
x=intmin('int8');
fprintf(fmt,cls,x,InvertIm(x))
x=int8(0);
fprintf(fmt,cls,x,InvertIm(x))
x=int8(128/2);
fprintf(fmt,cls,x,InvertIm(x))
x=int8(128);
fprintf(fmt,cls,x,InvertIm(x))
cls='int16';
fprintf('\n\n\n%s\n',cls)
x=intmin('int16');
fprintf(fmt,cls,x,InvertIm(x))
x=-int16(intmax('int16')/2);
fprintf(fmt,cls,x,InvertIm(x))
x=int16(0);
fprintf(fmt,cls,x,InvertIm(x))
x=int16(intmax('int16')/2);
fprintf(fmt,cls,x,InvertIm(x))
x=int16(intmax('int16'));
fprintf(fmt,cls,x,InvertIm(x))
cls='int16 using InvertIm lowerlimit 0';
fprintf('\n\n\n%s\n',cls)
x=intmin('int16');
fprintf(fmt,cls,x,InvertIm(x,[],0))
x=-int16(intmax('int16')/2);
fprintf(fmt,cls,x,InvertIm(x,[],0))
x=int16(0);
fprintf(fmt,cls,x,InvertIm(x,[],0))
x=int16(intmax('int16')/2);
fprintf(fmt,cls,x,InvertIm(x,[],0))
x=int16(intmax('int16'));
fprintf(fmt,cls,x,InvertIm(x,[],0))
cls='Double';
fmt='%s\t%5.3f\tInverse\t%5.3f\n';
fprintf('\n\n\n%s\n',cls)
x=0;
fprintf(fmt,cls,x,InvertIm(x))
x=0.5;
fprintf(fmt,cls,x,InvertIm(x))
x=1;
fprintf(fmt,cls,x,InvertIm(x))
fmt='%s\t%5.3f %5.3f %5.3f\tInverse\t%5.3f %5.3f %5.3f\n';
x=[0 128 255];
fprintf(fmt,cls,x,InvertIm(x))
fprintf(fmt,cls,x,InvertIm(x,[],[],129))