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> 2025-01-05 15:42:39 +0300 committer: kx <kx@radix-linux.su> 2025-01-05 15:42:39 +0300 commit: 41c271dacd0d2e4eae1378b098448e3554ea657b parent: 662a29cbe51f565cb7e04345772b16795fbf4182
Commit Summary:
man: pages fot integer operations
Diffstat:
1 file changed, 96 insertions, 0 deletions
diff --git a/man/ru/iatoi.3mpu b/man/ru/iatoi.3mpu
new file mode 100644
index 0000000..e161eb6
--- /dev/null
+++ b/man/ru/iatoi.3mpu
@@ -0,0 +1,104 @@
+.TH iatoi 3  "December 27, 2024" "libmpu" "LibMPU Programmer's Manual"
+.SH NAME
+\fBiatoi\fP, \fBiatoui\fP \- функции перевода ASCII строки в целое число
+.SH SYNOPSIS
+.nf
+.B #include <libmpu.h>
+.PP
+.BI "void iatoi( mpu_int *" c ", __mpu_char8_t *" str ", int " nb " );
+.BI "void iatoui( mpu_int *" c ", __mpu_char8_t *" str ", int " nb " );
+.fi
+.SH DESCRIPTION
+Функции \fBiatoi()\fP, \fBiatoui()\fP предназначены для приведения (конвертации) ASCII\-строки в числовой вид.
+В случае функции \fBiatoi()\fP арумент \fBstr\fP рассматривается как указатель на массив символов, содержащий
+символы знакового целого числа, в случае \fBiatoui()\fP подразумевается, что строка содержит представление
+беззнаковой числовой константы целого типа.
+.PP
+Числовые константы в строке могут быть представлены как двоичные, восьмеричные, шестнадцатеричные и десятичные
+числа. Двоичные числа начинаются с префикса \fB0b\fP или \fB0B\fP, например, \fB0b1011\fP. Восьмеричные числа
+должны начинаться с символа '0' и содержать цифры от '0' до '7'. Шестнацатеричные константы начинаются с префикса
+\fB0x\fP или \fB0X\fP и могут содержать символы от '0' до '7', а также символы от 'a' до 'f' в любом регистре.
+Десятичные константы могут содержать символы от '0' до '9', но не должны начинаться символом '0'. Перед числом
+допускаются знаки '+', '-'. Если в строке представлена двоичная, восьмеричная или шестнадцатеричная константа,
+то знак игнорируется.
+.PP
+Результат размещается по адресу \fBc\fP, а параметр \fBnb\fP представляет размер результата \fBc\fP в байтах.
+.PP
+Если число, представленное в строке \fBstr\fP, не умещается в заданный (\fBnb\fP) формат, то выставляется
+флаг переполнения (\fBO\fP).
+.PP
+Функция воздействует на флаги \fBA\fP, \fBC\fP, \fBO\fP, \fBP\fP, \fBS\fP, \fBZ\fP. Флаги \fBA\fP, \fBC\fP
+сбрасываются в 0. Флаг \fBR\fP не изменяется.
+.sp
+.SH EXAMPLES
+.nf
+.sp
+#include <libmpu.h>
+#include <stdio.h>
+
+int main( void )
+{
+  int  rc = 0;
+
+  __mpu_init();
+  __mpu_extra_warnings = 1;
+
+  {
+    mpu_int16_t    a, b;
+    int            nb = NB_I16;
+    __mpu_char8_t  s[32];
+
+    iatoui( a, "0b11", nb ); /* evaluate the A variable */
+    iatoi( b,  "-3", nb );   /* evaluate the B variable */
+
+    iitoa( s, a, RADIX_DEC, LOWERCASE, nb ); /* convert A value to ASCII string S */
+    printf( "a = %s;\\n", s ); /* a = 3; */
+
+    iitoa( s, b, RADIX_BIN, LOWERCASE, nb ); /* convert B value to ASCII string S */
+    printf( "b = %s;\\n", s ); /* b = 0b1111111111111101; */
+  }
+
+  __mpu_free_context();
+
+  return( rc );
+}
+.fi
+.SH SEE ALSO
+.BR iadd(3),
+.BR isub(3),
+.BR iadc(3),
+.BR isbb(3),
+.BR ishl(3),
+.BR ishr(3),
+.BR isal(3),
+.BR isar(3),
+.BR irol(3),
+.BR iror(3),
+.BR ircl(3),
+.BR ircr(3),
+.BR ishln(3),
+.BR ishrn(3),
+.BR isaln(3),
+.BR isarn(3),
+.BR iroln(3),
+.BR irorn(3),
+.BR ircln(3),
+.BR ircrn(3),
+.BR ineg(3),
+.BR inot(3),
+.BR iand(3),
+.BR itest(3),
+.BR icmp(3),
+.BR ior(3),
+.BR ixor(3),
+.BR iinc(3),
+.BR idec(3),
+.BR ixchg(3),
+.BR icpy(3),
+.BR icvt(3),
+.BR imul(3),
+.BR ismul(3),
+.BR idiv(3),
+.BR isdiv(3),
+.BR iitoa(3),
+.BR iuitoa(3).