.TH LIBJ2_J2I_XOR_SIGN 3 LIBJ2 .SH NAME libj2_j2i_xor_sign \- Calculate bitwise NOT iff sign-bit is set .SH SYNOPSIS .nf #include void \fBlibj2_j2i_xor_sign\fP(struct libj2_j2i *\fIa\fP); void \fBlibj2_j2i_xor_sign_to_j2i\fP(const struct libj2_j2i *\fIa\fP, struct libj2_j2i *\fIr\fP); void \fBlibj2_j2i_xor_sign_to_j2u\fP(const struct libj2_j2i *\fIa\fP, struct libj2_j2u *\fIr\fP); .fi .PP Link with .IR -lj2 . .SH DESCRIPTION The above listed functions calculate the bitwise inverse (NOT) of .I a if the sign-bit is set in .IR a , that is, if and only if .I a is negative: for each bit, the XOR with the sign-bit is calculated. The result, which is always non-negative, is stored in .IR r , except in the case of the .BR libj2_j2i_xor_sign () function, where the result is stored in .IR a . .PP The arguments are assumed to be .RI non- NULL . .SH RETURN VALUE None. .SH ERRORS The above listed functions cannot fail. .SH HISTORY The .BR libj2_j2i_xor_sign (), .BR libj2_j2i_xor_sign_to_j2i (), and .BR libj2_j2i_xor_sign_to_j2u () functions were added in version 1.1 of .BR libj2 . .SH SEE ALSO .BR libj2 (7), .BR libj2_j2u_not (3), .BR libj2_j2i_is_negative (3)