zsplit.3 (744B)
1 .TH ZSPLIT 3 libzahl 2 .SH NAME 3 zsplit - Split a big integer in two parts 4 .SH SYNOPSIS 5 .nf 6 #include <zahl.h> 7 8 void zsplit(z_t \fIhigh\fP, z_t \fIlow\fP, z_t \fIa\fP, size_t \fIn\fP); 9 .fi 10 .SH DESCRIPTION 11 .B zsplits 12 splits 13 .I a 14 into two parts. The lowest 15 .I n 16 bits are stored in 17 .IR low , 18 and the rest of the bits are 19 stored in 20 .IR high . 21 The result stored in 22 .I high 23 is shifted 24 .I n 25 bits to the right. Both 26 .I high 27 and 28 .I low 29 will have the same sign as 30 .IR a . 31 .P 32 It is safe to call 33 .B zsplit 34 with 35 .I "(high==a)" 36 and 37 .IR "(low==a)" . 38 .SH RATIONALE 39 Splitting big integers in the described way is useful 40 for divide-and-conquer algorithms. 41 .SH SEE ALSO 42 .BR zand (3), 43 .BR zor (3), 44 .BR zxor (3), 45 .BR znot (3), 46 .BR zlsh (3), 47 .BR zrsh (3), 48 .BR zbits (3)