Lines Matching +full:encode +full:- +full:only

1 <!---
3 SPDX-License-Identifier: BSD-2-Clause
5 Copyright (c) 2018-2025 Gavin D. Howard and contributors.
29 -->
33 bcl - library of arbitrary precision decimal arithmetic
41 Link with *-lbcl*, and on POSIX systems, *-lpthread* is also required.
112 These items allow clients to manipulate and query the arbitrary-precision
209 ## Pseudo-Random Number Generator
211 These items allow clients to manipulate the seeded pseudo-random number
248 bcl(3) is a library that implements arbitrary-precision decimal math, as
263 **bcl_end()** must only be called *once*. This is to make it possible for
279 : Deinitializes this library. This function must only be called *once*.
328 This value is *thread-local*; it applies to just the thread it is read on.
339 This value is *thread-local*; it applies to just the thread it is set on.
346 returned by **bcl_string()** when numbers are greater than **-1**, less than
350 This value is *thread-local*; it applies to just the thread it is read on.
357 **bcl_string()** when numbers are greater than **-1**, less than **1**, and
361 This value is *thread-local*; it applies to just the thread it is set on.
380 This value is *thread-local*; it applies to just the thread it is read on.
390 This value is *thread-local*; it applies to just the thread it is set on.
394 : Garbage collects cached instances of arbitrary-precision numbers. This only
411 : A typedef to a pointer of **struct BclCtxt**. This is the only handle
419 only, where applicable, and a value of 20, for example, means that all
516 **BclNumber** can encode an error in the number, and this function will
528 : A handle to an arbitrary-precision number. The actual number type is not
529 exposed; the **BclNumber** handle is the only way clients can refer to
530 instances of arbitrary-precision numbers.
536 bcl(3) will encode an error in the return value, if there was one. The error
592 *val* must be non-**NULL** and a valid string. See
596 bcl(3) will encode an error in the return value, if there was one. The error
654 bcl(3) will encode an error in the return value, if there was one. The error
684 bcl(3) will encode an error in the return value, if there was one. The error
698 bcl(3) will encode an error in the return value, if there was one. The error
715 bcl(3) will encode an error in the return value, if there was one. The error
729 bcl(3) will encode an error in the return value, if there was one. The error
748 bcl(3) will encode an error in the return value, if there was one. The error
764 bcl(3) will encode an error in the return value, if there was one. The error
783 bcl(3) will encode an error in the return value, if there was one. The error
800 bcl(3) will encode an error in the return value, if there was one. The error
811 modulus **a-(a/b)\*b**, and returns the modulus.
820 bcl(3) will encode an error in the return value, if there was one. The error
831 modulus **a-(a/b)\*b**, and returns the modulus.
837 bcl(3) will encode an error in the return value, if there was one. The error
849 be non-zero.
860 bcl(3) will encode an error in the return value, if there was one. The error
874 be non-zero.
882 bcl(3) will encode an error in the return value, if there was one. The error
904 bcl(3) will encode an error in the return value, if there was one. The error
921 bcl(3) will encode an error in the return value, if there was one. The error
941 bcl(3) will encode an error in the return value, if there was one. The error
958 bcl(3) will encode an error in the return value, if there was one. The error
976 bcl(3) will encode an error in the return value, if there was one. The error
991 bcl(3) will encode an error in the return value, if there was one. The error
1052 bcl(3) will encode an error in the return value, if there was one. The error
1071 bcl(3) will encode an error in the return value, if there was one. The error
1111 bcl(3) will encode an error in the return value, if there was one. The error
1118 ## Pseudo-Random Number Generator
1120 The pseudo-random number generator in bcl(3) is a *seeded* PRNG. Given the same
1121 seed twice, it will produce the same sequence of pseudo-random numbers twice.
1125 then calling **rand()** for each byte, since **rand()** is only guaranteed to
1141 The following items allow clients to use the pseudo-random number generator. All
1169 *a* must be an integer and non-negative.
1176 bcl(3) will encode an error in the return value, if there was one. The error
1193 *a* must be an integer and non-negative.
1197 bcl(3) will encode an error in the return value, if there was one. The error
1214 bcl(3) will encode an error in the return value, if there was one. The error
1225 *a* must be an integer and non-negative.
1232 bcl(3) will encode an error in the return value, if there was one. The error
1246 *a* must be an integer and non-negative.
1250 bcl(3) will encode an error in the return value, if there was one. The error
1315 bcl(3) will encode an error in the return value, if there was one. The error
1379 : A non-integer was given as an argument to a parameter that cannot accept
1380 non-integer numbers, such as for the second parameter of **bcl_num_pow()**.
1395 A valid number string can only be one radix (period). In addition, any
1396 lowercase ASCII letters, symbols, or non-ASCII characters are invalid. It is
1412 bcl(3) is given the number string **10e-4**, the resulting decimal number
1441 bcl(3) is *MT-Safe*: it is safe to call any functions from more than one thread.
1445 bcl(3) is not *async-signal-safe*. It was not possible to make bcl(3) safe with
1497 : The maximum **scale**. Set at **BC_OVERFLOW_MAX-1**.
1502 after the decimal point. Set at **BC_OVERFLOW_MAX-1**.
1507 Set at **2\^BC_LONG_BIT-1**.
1514 These limits are meant to be effectively non-existent; the limits are so large
1515 (at least on 64-bit machines) that there should not be any point at which they
1525 bcl(3) is compliant with the arithmetic defined in the IEEE Std 1003.1-2017
1526 (“POSIX.1-2017”) specification at
1529 Note that the specification explicitly says that bc(1) only accepts numbers that