MOVE
case 2: MOVE(char, short); break;
case 4: MOVE(char, long); break;
case 1: MOVE(short, char); break;
case 4: MOVE(short, long); break;
case 1: MOVE(long, char); break;
case 2: MOVE(long, short); break;
case 4: MOVE(char, float); break;
case 8: MOVE(char, double); break;
case 4: MOVE(short, float); break;
case 8: MOVE(short, double); break;
case 4: MOVE(long, float); break;
case 8: MOVE(long, double); break;
case 1: MOVE(char, ulaw); break;
case 2: MOVE(short, ulaw); break;
case 4: MOVE(long, ulaw); break;
case 1: MOVE(char, alaw); break;
case 2: MOVE(short, alaw); break;
case 4: MOVE(long, alaw); break;
case 1: MOVE(float, char); break;
case 2: MOVE(float, short); break;
case 4: MOVE(float, long); break;
case 1: MOVE(double, char); break;
case 2: MOVE(double, short); break;
case 4: MOVE(double, long); break;
case 8: MOVE(float, double); break;
case 4: MOVE(double, float); break;
case 4: MOVE(float, ulaw); break;
case 8: MOVE(double, ulaw); break;
case 4: MOVE(float, alaw); break;
case 8: MOVE(double, alaw); break;
case 1: MOVE(ulaw, char); break;
case 2: MOVE(ulaw, short); break;
case 4: MOVE(ulaw, long); break;
case 4: MOVE(ulaw, float); break;
case 8: MOVE(ulaw, double); break;
MOVE(ulaw, alaw); break;
case 1: MOVE(alaw, char); break;
case 2: MOVE(alaw, short); break;
case 4: MOVE(alaw, long); break;
case 4: MOVE(alaw, float); break;
case 8: MOVE(alaw, double); break;
MOVE(alaw, ulaw); break;