Math Processor Unit Library

libmpu – library of arithmetic functions for integer, real, and complex numbers of increased digit capacity

16 Commits   0 Branches   2 Tags
author: kx <kx@radix-linux.su> 2024-12-28 08:20:38 +0300 committer: kx <kx@radix-linux.su> 2024-12-28 08:20:38 +0300 commit: 07a2b4814e54523bee9733655d165dfa70643565 parent: 055ab71005847fee9aefff8f22be05c3b1ced684
Commit Summary:
Initial set of man pages
Diffstat:
1 file changed, 53 insertions, 0 deletions
diff --git a/man/ru/isub.3mpu b/man/ru/isub.3mpu
new file mode 100644
index 0000000..7a3624a
--- /dev/null
+++ b/man/ru/isub.3mpu
@@ -0,0 +1,61 @@
+.\" Copyright 2024 Andrew V.Kosteltsev (kx@radix-linux.su)
+.\"
+.\"
+.TH isub 3  "December 27, 2024" "libmpu" "LibMPU Programmer's Manual"
+.SH NAME
+\fBisub\fP \- вычитание знаковое и беззнаковое
+.SH SYNOPSIS
+.nf
+.B #include <libmpu.h>
+.PP
+.BI "void isub( mpu_int *" c ", mpu_int *" a ", mpu_int *" b ", int " nb " );
+.fi
+.SH DESCRIPTION
+Функция \fBisub()\fP выполняет операцию вычитания целых чисел, расположенных по адресам \fBa\fP и \fBb\fP,
+c размещением результата по адресу \fBc\fP. Операнды могут быть числами со знаком или без него.
+Содержимое памяти по адресам \fBa\fP, \fBb\fP не изменяется, предыдущее содержимое памяти по адресу
+\fBc\fP теряется. Параметр \fBnb\fP определяет размер в байтах, операндов расположенных по адресам
+\fBc\fP, \fBa\fP, \fBb\fP.
+.PP
+Функция воздействует на флаги \fBA\fP, \fBC\fP, \fBO\fP, \fBP\fP, \fBS\fP, \fBZ\fP и \fBV\fP.
+.PP
+Флаги \fBА\fP и \fBP\fP выставляются только в том случае, когда размер операндов \fBa\fP, \fBb\fP равен одному или
+двум байтам (\fBnb\fP == 1 || \fBnb\fP == 2).
+.sp
+.SH EXAMPLES
+.nf
+.sp
+#include <libmpu.h>
+#include <stdio.h>
+
+int main( void )
+{
+  int  rc = 0;
+
+  __mpu_init();
+  __mpu_extra_warnings = 1;
+
+  {
+    mpu_int128_t   c, a, b;
+    int            nb = NB_I128;
+    __mpu_char8_t  s[256];
+
+    iatoi( a, "237", nb ); /* evaluate the A variable */
+    iatoi( b,  "37", nb ); /* evaluate the B variable */
+
+    isub( c, a, b, nb );
+    iitoa( s, c, RADIX_DEC, LOWERCASE, nb ); /* convert C value to ASCII string S */
+    printf( "c = %s;\n", s ); /* c = 200; */
+  }
+
+  __mpu_free_context();
+
+  return( rc );
+}
+.fi
+.sp
+.SH SEE ALSO
+.BR iadd(3),
+.BR iadc(3),
+.BR isbb(3).
+