1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
.TH LIBJ2_J2I_MOD_J2I 3 LIBJ2
.SH NAME
libj2_j2i_mod_j2i \- Calculate remainder of division
.SH SYNOPSIS
.nf
#include <libj2.h>
void \fBlibj2_j2i_mod_j2i\fP(struct libj2_j2i *\fIa\fP, const struct libj2_j2i *\fIb\fP);
void \fBlibj2_j2i_mod_j2i_to_j2i\fP(const struct libj2_j2i *\fIa\fP, const struct libj2_j2i *\fIb\fP, struct libj2_j2i *\fIr\fP);
void \fBlibj2_j2i_mod_ji\fP(struct libj2_j2i *\fIa\fP, intmax_t \fIb\fP);
void \fBlibj2_j2i_mod_ji_to_j2i\fP(const struct libj2_j2i *\fIa\fP, intmax_t \fIb\fP, struct libj2_j2i *\fIr\fP);
void \fBlibj2_j2u_mod_j2u\fP(struct libj2_j2u *\fIa\fP, const struct libj2_j2u *\fIb\fP);
void \fBlibj2_j2u_mod_j2u_to_j2u\fP(const struct libj2_j2u *\fIa\fP, const struct libj2_j2u *\fIb\fP, struct libj2_j2u *\fIr\fP);
void \fBlibj2_j2u_mod_ju\fP(struct libj2_j2u *\fIa\fP, uintmax_t \fIb\fP);
void \fBlibj2_j2u_mod_ju_to_j2u\fP(const struct libj2_j2u *\fIa\fP, uintmax_t \fIb\fP, struct libj2_j2u *\fIr\fP);
void \fBlibj2_j2i_rmod_j2i\fP(struct libj2_j2i *\fIb\fP, const struct libj2_j2i *\fIa\fP);
void \fBlibj2_j2u_rmod_j2u\fP(struct libj2_j2u *\fIb\fP, const struct libj2_j2u *\fIa\fP);
.fi
.PP
Link with
.IR -lj2 .
.SH DESCRIPTION
The above listed functions calculate the
calculate the divide
.I a
by
.I b
and stores the remainder in
.IR r ,
or in the first argument for the functions
without an
.I r
argument.
.PP
The quotient is discarded.
.PP
The quotient is rounded towards zero.
The remainder is defined such that the
product of the rounded quotient and the
divisor is equal to the difference between
the dividend and the remainder.
.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_j2u_mod_j2u (),
.BR libj2_j2u_mod_j2u_to_j2u (),
.BR libj2_j2u_mod_ju (),
.BR libj2_j2u_mod_ju_to_j2u (),
and
.BR libj2_j2u_rmod_j2u ()
functions were added in version 1.0 of
.BR libj2 .
.PP
The
.BR libj2_j2i_mod_j2i (),
.BR libj2_j2i_mod_j2i_to_j2i (),
.BR libj2_j2i_mod_ji (),
.BR libj2_j2i_mod_ji_to_j2i (),
and
.BR libj2_j2i_rmod_j2i ()
functions were added in version 1.1 of
.BR libj2 .
.SH NOTES
If you want both the quotient and
the remainder, a
.B divmod
function (see
.BR libj2_j2i_divmod_j2i (3))
can be used to calculate both at the
same time, for the computational
cost of calculating one.
.SH SEE ALSO
.BR libj2 (7),
.BR libj2_j2i_divmod_j2i (3),
.BR libj2_j2i_div_j2i (3),
.BR libj2_j2i_add_j2i (3),
.BR libj2_j2i_sub_j2i (3),
.BR libj2_j2u_sub_j2u (3),
.BR libj2_j2i_mul_j2i (3)
|