Lines Matching +full:fixed +full:- +full:function

16 It also has a performance increase in the `band()` function and others in the
45 The second bug is that an array, which should only be a function parameter, was
98 This is a production release with an improved `p()` function in the [extended
118 `cbrt()`, fixes a bug with `BC_LINE_LENGTH=0`, and adds the `fib()` function to
131 ***WARNING for `bcl` Users***: The `bcl_rand_seedWithNum()` function used to not
190 function call.
207 * A crash when attempting to swap characters in command-line history when no
233 The first memory bug could be reproduced by assigning a string to a non-local
234 variable in a function, then redefining the function with use of the same
235 non-local variable, which would still refer to a string in the previous version
236 of the function.
239 built-in function. In certain cases, that was wrongly allowed, and the
243 The first feature was the addition of the `is_number()` built-in function (`u`
246 The second feature was the addition of the `is_string()` built-in function (`t`
249 These features were added because I realized that type-checking is necessary now
253 The last added feature is the ability of the `asciify()` built-in function in
255 character-by-character printing will not be necessary, and more strings than
256 just single-character ones will be able to be created.
267 This is a production release that fixes a build bug for cross-compilation.
269 Users that do not need cross-compilation do ***NOT*** need to upgrade.
275 * The `-l` option overrode the `-S` option.
276 * A double-free and crash when sending a `SIGINT` while executing expressions
277 given on the command-line.
293 Nevertheless, I have now run it under Valgrind and fixed all of the memory bugs
305 environment variables, and it can be set with the `-c` and `-C` command-line
311 the capability for multi-threading. This required a major version bump. I
315 To help with building, a convenience option (`-p`) to `configure.sh` was added
344 editline, pass `-e` to `configure.sh`, and to use readline, pass `-r`.
346 Second, history support for Windows has been fixed and re-enabled.
348 Third, command-line options to set `scale`, `ibase`, `obase`, and `seed` were
351 Fourth, the manuals had typos and were missing information. That has been fixed.
367 * Home and End key handling in `tmux` was fixed.
374 file to `bc` using `-f` if that file had a multiline comment or string in it.
393 out-of-source builds and a `pkg-config` file for `bcl`.
399 Bugs fixed include:
410 correctly at the end of files or right before a function definition.
416 * Fixed a bug where an `if` statement without an `else` before defining a
417 function caused an error.
418 * Fixed a bug with the `bc` banner and `-q`.
419 * Fixed a bug on Windows where files were not read correctly.
420 * Added a command-line flag (`-z`) to make `bc` and `dc` print leading zeroes on
421 numbers `-1 < x < 1`.
424 the use of `-z` or not.
427 * Added a command-line flag (`-L`) to disable wrapping when printing numbers.
465 * Fixed print bug where a backslash newline combo was printed even if only one
467 * Fixed bugs in the manuals.
468 * Fixed a possible multiplication overflow in power.
474 * Allowed integers with non-zero `scale` to be used with power, places, and
479 * Fixed multi-digit bugs in `lib2.bc`.
485 * Fixed bugs with the handling of register names in `dc`.
486 * Fixed bugs with multi-line comments and strings in both calculators.
490 * Made `bc` and `dc` UTF-8 capable.
491 * Fixed a bug with `void` functions.
492 * Fixed a misspelled symbol in `bcl`. This is technically a breaking change,
515 would not be set to `20` even if `-l` was used.
526 This is a production release with many fixes, a new command-line option, and a
529 * A bug was fixed in `dc`'s `P` command where the item on the stack was *not*
531 * Various bugs in the manuals have been fixed.
532 * A known bug was fixed where history did not interact well with prompts printed
534 * A new command-line option, `-R` and `--no-read-prompt` was added to disable
571 The fixes for manuals fixed a bug where `--` was rendered as `-`.
575 This is a production release that fixes a divide-by-zero bug in `root()` in the
589 The changed behavior is the treatment of `-e` and `-f` when given through
593 command-line.
597 This is a production release that removes a small non-portable shell operation
601 Non-OpenBSD users do ***NOT*** need to upgrade, although NetBSD users may also
621 out-of-bounds (crash in debug builds). This was found by upgrading to `afl++`
627 Third, some warnings by `scan-build` were found and eliminated. This needed one
631 Fourth, the pseudo-random number now attempts to seed itself with `/dev/random`
634 Finally, this release has a few quality-of-life changes to the build system. The
656 bug was using the GNU `find` extension `-wholename`.
669 The bug fix was a missing `auto` variable in the bessel `j()` function in the
673 This is done with the `-a` option to `configure.sh`. The API for the library can
707 The behavior that was changed is that `bc` now exits when given `-e`, `-f`,
708 `--expression` or `--file`. However, if the last one of those is `-f-` (using
709 `stdin` as the file), `bc` does not exit. If `-f-` exists and is not the last of
710 the `-e` and `-f` options (and equivalents), `bc` gives a fatal error and exits.
715 Finally, I made it so `bc` does not print the header, though the `-q` and
716 `--quiet` options were kept for compatibility with GNU `bc`.
735 For package maintainers wishing to make use of the change, just pass `-l` to
749 The behavior that was adjusted was how code from the `-e` and `-f` arguments
751 in this release, they are now executed line-by-line.
755 clean-up function was not getting called. This release fixes that bug.
760 The third fixed bug was that `bc` and `dc` could `abort()` (in debug mode) when
764 The fourth bug fixed was that `bc` could leave extra items on the stack and
790 unused `auto` variable from the `ceil()` function in the [extended math
832 was parsed before it was executed, but if a function is defined *after* code,
833 especially if the function definition was actually a redefinition, and the code
834 before the definition referred to the previous function, this `bc` would replace
835 the function before executing any code. The fix was to make sure that all code
836 that existed before a function definition was executed.
838 The second major bug fix was in `bc`'s `lib2.bc`. The `ceil()` function had a
840 output the wrong numbers if there was any non-zero digit after.
850 function, `strdup()`, which is not in POSIX 2001, and it is in the X/Open System
864 Fifth, the interpreter received a speedup to make performance on non-math-heavy
871 calling the function `bc_vec_pop(v)` twice instead of calling
872 `bc_vec_npop(v, 2)`. They also included an extra function call for checking the
876 Second, since the current `bc` function is the one that stores constants and
877 strings, the program caches pointers to the current function's vectors of
878 constants and strings to prevent needing to grab the current function in order
882 arbitary-precision numbers). If a `BcNum` has the default capacity of
883 `BC_NUM_DEF_SIZE` (32 on 64-bit and 16 on 32-bit) when it is freed, it is added
890 minimum allocation size on Linux, which is either 32 bytes (64-bit musl), 24
891 bytes (64-bit glibc), 16 bytes (32-bit musl), or 12 bytes (32-bit glibc). Since
894 of `BC_NUM_DEF_SIZE` on 64-bit systems was changed to 32 bytes.
896 On top of that, at least on 64-bit, `BC_NUM_DEF_SIZE` supports numbers with
904 (For 32-bit, these numbers are either 32 integer digits or 12 integer digits and
906 32-bit system seems a little pointless since 12 digits is just under a trillion
907 and 20 fractional digits is still enough for about any use since `10^-20` light
925 `BC_NUM_DEF_SIZE` bigger on 64-bit systems, since the vast majority of numbers
930 from a polling approach to signal handling to an interrupt-based approach.
945 the cost of pushing and popping a `jmp_buf` in a function is paid at most twice.
952 builds will be smaller, but non-static builds will be bigger, though they will
968 unwinding is well-tested. (Errors are tested heavily in the test suite.)
980 The `length()` built-in function can take either a number or an array. If it
982 reference. The bug is that the `length()` function would not properly
1017 There is only one new feature: **`bc` now has a built-in pseudo-random number
1025 It also outputs 32 bits on 32-bit platforms and 64 bits on 64-bit platforms, far
1030 size. (As of the time of release, the largest pseudo-random number generated by
1061 This release adds one function to the [extended math library][16]: `p(x, y)`,
1085 CC="gcc -O3 -march=native" ./configure.sh
1090 and `CFLAGS` will be "-O3 -march=native".
1115 * A couple of copy and paste errors in the [`dc` manual][10] were fixed.
1116 * `dc` startup was optimized by making sure it didn't have to set up `bc`-only
1120 * `dc` macros were changed to be tail call-optimized.
1138 This is a production release. It fixes a bug that caused `-1000000000 < -1` to
1141 bug, and needs to be fixed.
1155 2. The new function `root(x, n)` was added to the extended math library to
1157 3. The new function `cbrt(x)` was added to the extended math library to
1162 This is a non-critical release; it just changes the build system, and in
1163 non-breaking ways:
1168 was fixed.
1190 The following bugs were fixed:
1192 1. A `dc` bug that caused stack mishandling was fixed.
1193 2. A warning on OpenBSD was fixed.
1194 3. Bugs in `ctrl+arrow` operations in history were fixed.
1196 5. A `bc` bug, mishandling of array arguments to functions, was fixed.
1197 6. A crash caused by freeing the wrong pointer was fixed.
1199 fixed.
1207 4. A harmless bug was fixed. This bug was that, with the pop instructions
1218 3. Updating function and code pointers on every iteration of the interpreter
1230 This is a production, bug-fix release.
1232 Two bugs were fixed in this release:
1234 1. A rare and subtle signal handling bug was fixed.
1235 2. A misbehavior on `0` to a negative power was fixed.
1250 That was bad on me. But the bug was easy to fix, so it is fixed now.
1261 billion (`2^31-1`) `SIGINT`'s, but I saw it and had to fix it.
1267 1. A slight bug in `dc`'s interactive mode was fixed.
1268 2. A bug in the test suite that was only triggered on NetBSD was fixed.
1269 3. **The `-P`/`--no-prompt` option** was added for users that do not want a
1287 2. Locales were fixed.
1288 3. A **POSIX shell-compatible script was added as an alternative to compiling
1290 between the two can be found by running `./configure.sh --help` or reading
1294 5. The `locale_install.sh` script was fixed.
1297 7. `dc` was also given the ability to **use the `-i` or `--interactive`**
1299 8. Printing the prompt was fixed so that it did not print when it shouldn't.
1300 9. Signal handling was fixed.
1301 10. **Handling of `SIGTERM` and `SIGQUIT`** was fixed.
1302 11. The **built-in functions `maxibase()`, `maxobase()`, and `maxscale()`** (the
1305 12. Some incompatibilities with POSIX were fixed.
1327 shell-compatible, and also updates a man page that should have been updated a
1361 with the `-g` command-line option. (See the [`bc` manual][9] for more
1373 10. Some bugs were fixed.
1374 11. Some bugs in the extended library were fixed.
1375 12. Some defects from [Coverity Scan][11] were fixed.
1396 The bug that was fixed was a failure to install if no `EXECSUFFIX` was used.
1403 shell-compatible configure script ([`configure.sh`][6]) to generate a POSIX
1404 make-compatible `Makefile`, which means that `bc` and `dc` now build out of
1405 the box on any POSIX-compatible system.
1406 2. Out-of-memory and output errors now cause the `bc` to report the error,
1420 [UTF-8 aware fork][7] of [`linenoise`][8], which has been customized with
1430 17. Many obscure parse bugs were fixed.
1435 20. **GNU-style array references were added as a supported feature.**
1444 25. **Support for GNU-style void functions was added.**
1445 26. A bug fix for improper handling of function parameters was added.
1499 This is the first non-beta release. `bc` is ready for production use.
1519 9. Performance was further enhanced by using a "divmod" function to reduce
1527 12. All known math bugs have been fixed, including out of control memory
1531 13. Parsing has been fixed as much as possible.
1537 18. `bc` was made fully compliant with POSIX when the `-s` flag is used or
1591 [1]: https://docs.microsoft.com/en-us/windows/wsl/install-win10
1597 [7]: https://github.com/rain-1/linenoise-mob
1601 [11]: https://scan.coverity.com/projects/gavinhoward-bc
1606 [16]: ./manuals/bc/A.1.md#extended-library
1610 [20]: https://github.com/apjanke/ronn-ng
1613 [23]: ./MAINTENANCE-TERMS.md