E_CAST(12,k,l,r,+,^,-); E_CAST(13,k,r,l,^,-,+); E_CAST(14,k,l,r,-,+,^); E_CAST(15,k,r,l,+,^,-);
if(!k->short_key) { E_CAST(12,k,l,r,+,^,-); E_CAST(13,k,r,l,^,-,+); E_CAST(14,k,l,r,-,+,^); E_CAST(15,k,r,l,+,^,-); }
void CAST_encrypt(data,key)CAST_LONG *data;CAST_KEY *key;	{	register CAST_LONG l,r,*k,t;	k= &(key->data[0]);	l=data[0];	r=data[1];	E_CAST( 0,k,l,r,+,^,-);	E_CAST( 1,k,r,l,^,-,+);	E_CAST( 2,k,l,r,-,+,^);	E_CAST( 3,k,r,l,+,^,-);	E_CAST( 4,k,l,r,^,-,+);	E_CAST( 5,k,r,l,-,+,^);	E_CAST( 6,k,l,r,+,^,-);	E_CAST( 7,k,r,l,^,-,+);	E_CAST( 8,k,l,r,-,+,^);	E_CAST( 9,k,r,l,+,^,-);	E_CAST(10,k,l,r,^,-,+);	E_CAST(11,k,r,l,-,+,^);	E_CAST(12,k,l,r,+,^,-);	E_CAST(13,k,r,l,^,-,+);	E_CAST(14,k,l,r,-,+,^);	E_CAST(15,k,r,l,+,^,-);	data[1]=l&0xffffffffL;	data[0]=r&0xffffffffL;	}