aboutsummaryrefslogtreecommitdiff
path: root/tests/bc
Commit message (Collapse)AuthorAgeFilesLines
* vendor/bc: upgrade to version 7.1.0vendor/bc/7.1.0vendor/bcStefan Eßer2025-09-11551-792/+11317
| | | | | | | | | This update fixes a few bugs: - Improper response to double SIGINT with editline. - Not letting libedit handle terminal size changes. - A dc crash from improperly handling an error. - A duplicate check for reference arrays. - Build failures with GCC 15.
* vendor/bc: upgrade to version 7.0.0vendor/bc/7.0.0Stefan Eßer2024-08-232-0/+74
| | | | | | | | | | | | | | | | This is a production release to fix three bugs, none of which affects well formed scripts on FreeBSD: The first bug is that bc/dc will exit on macOS when the terminal is resized. The second bug is that an array, which should only be a function parameter, was accepted as part of larger expressions. The third bug is that the value stack for dc was cleared on any error. However, this is not how other dc behave. To bring dc more in line with other implementations, this behavior was changed. This change is why this version is a new major version.
* vendor/bc: upgrade to version 6.7.6vendor/bc/6.7.6Stefan Eßer2024-07-081-1/+1
| | | | | | | | This update fixes a potential issue when flushing stdout on exit fails: longjmp could use an uninitialized target address variable. Most files are included in this commit due to a changed date in the copyright note.
* vendor/bc: upgrade to version 6.7.5vendor/bc/6.7.5Stefan Eßer2024-01-045-0/+718
| | | | | | This update fixes a bug that line breaks in printed numbers may not match the line length set by the user. The value is printed correctly, just not split as specified in some situations.
* vendor/bc: upgrade to version 6.7.2vendor/bc/6.7.2Stefan Eßer2023-10-305-1/+1034
| | | | | | This update improves the implementation of the power function p() and adds 3 new functions to the extended math library: min(), max(), and i2rand().
* vendor/bc: upgrade to version 6.6.0vendor/bc/6.6.0Stefan Eßer2023-05-243-0/+507
| | | | | | This update removes printing of a leading zero in scientific or engineering output modes (which are an extended feature of this implementation).
* contrib/bc: import version 6.5.0vendor/bc/6.5.0Stefan Eßer2023-04-307-0/+438
| | | | | | | This release that fixes an infinite loop bug in the (non-standard) extended math library functions root() and cbrt(), fixes a bug with BC_LINE_LENGTH=0, and adds the fib() function to the extended math library to calculate Fibonacci numbers.
* vendor/bc: import version 6.2.4Stefan Eßer2023-02-061-1/+17
| | | | | | This update contains only documentation changes (new main repository URL and changed mail address of the program author) and changes to the build system that do not affect the FreeBSD base system build.
* vendor/bc: import version 6.2.2vendor/bc/6.2.2Stefan Eßer2023-01-283-0/+23
| | | | | | | | | This is a production release that fixes a bug. The bug was that if an array element was used as a parameter, and then a later parameter had the same name as the array whose element was used, bc would grab the element from the new array parameter, not the actual element from before the function call.
* vendor/bc: import version 6.2.0vendor/bc/6.2.0Stefan Eßer2023-01-281-1/+1
| | | | | | | | | | | | | | | | | | This is a production release with a new feature and a few bug fixes. The bug fixes include: - A crash when bc and dc are built using editline, but history is not activated. - A missing local in the uint*() family of functions in the extended math library. - A failure to clear the tail call list in dc on error. - A crash when attempting to swap characters in command-line history when no characters exist. - SIGWINCH was activated even when history was not. The new feature is that stack traces are now given for runtime errors. In debug mode, the C source file and line of errors are given as well.
* vendor/bc: import version 6.1.0vendor/bc/6.1.0Stefan Eßer2023-01-2821-0/+2311
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a production release that fixes a discrepancy from the bc standard, a couple of memory bugs, and adds new features. The discrepancy from the bc standard was with regards to the behavior of the quit command. This bc used to quit whenever it encountered quit during parsing, even if it was parsing a full file. Now, bc only quits when encountering quit after it has executed all executable statements up to that point. This behavior is slightly different from GNU bc, but users will only notice the difference if they put quit on the same line as other statements. The first memory bug could be reproduced by assigning a string to a non-local variable in a function, then redefining the function with use of the same non-local variable, which would still refer to a string in the previous version of the function. The second memory bug was caused by passing an array argument to the asciify() built-in function. In certain cases, that was wrongly allowed, and the interpreter just assumed everything was correct and accessed memory. Now that arrays are allowed as arguments (see below), this is not an issue. The first feature was the addition of the is_number() built-in function (u in dc) that returns 1 if the runtime argument is a number and 0 otherwise. The second feature was the addition of the is_string() built-in function (t in dc) that returns 1 if the runtime argument is a string and 0 otherwise. These features were added because I realized that type-checking is necessary now that strings can be assigned to variables in bc and because they've always been assignable to variables in dc. The last added feature is the ability of the asciify() built-in function in bc to convert a full array of numbers into a string. This means that character-by-character printing will not be necessary, and more strings than just single-character ones will be able to be created.
* vendor/bc: import version 6.0.2verndor/bc/6.0.2vendor/bc/6.0.2Stefan Eßer2022-08-301-0/+2
| | | | | | | | Changes relative to the previous version in FreeBSD: - Fix error message on certain syntax errors. - Add digit clamping (build option and run-time option) - Make -l options no longer overridee scale value set with -S
* vendor/bc: import release 5.2.1vendor/bc/5.2.1Stefan Eßer2021-11-304-0/+13
| | | | | | This release fixes two parse bugs when in POSIX standard mode. One of these bugs was due to a quirk of the POSIX grammar, and the other was because bc was too strict.
* vendor/bc: import release 5.2.0vendor/bc/5.2.0Stefan Eßer2021-11-301-1/+0
| | | | | This version is imported only for documentary purposes since it does not contain any changes that are relevant for the FreeBSD base system.
* vendor/bc: update to version 5.1.1vendor/bc/5.1.1Stefan Eßer2021-10-067-0/+160
| | | | | This update fixes a parser issue, which in special situations could reject syntactically correct if statements.
* vendor/bc: update to version 5.1.0vendor/bc/5.1.0Stefan Eßer2021-10-044-0/+29
| | | | | | | | This version adds options and functions that allow to print numbers in the open interval (-1 .. 1) with or without a leading 0 digit. Additionally, an option has been added to prevent line wrap and allows to print arbitrarily long results on a single line.
* vendor/bc: update to upstream version 5.0.2vendor/bc/5.0.2Stefan Eßer2021-09-191-2/+4
|
* vendor/bc: imoport release 5.0.0Stefan Eßer2021-08-0944-19/+11920
| | | | | | | | | | | | | | | | | | | | | | This is a new major release with a number of changes and extensions: - Limited the number of temporary numbers and made the space for them static so that allocating more space for them cannot fail. - Allowed integers with non-zero scale to be used with power, places, and shift operators. - Added greatest common divisor and least common multiple to lib2.bc. - Made bc and dc UTF-8 capable. - Added the ability for users to have bc and dc quit on SIGINT. - Added the ability for users to disable prompt and TTY mode by environment variables. - Added the ability for users to redefine keywords. - Added dc's modular exponentiation and divmod to bc. - Added the ability to assign strings to variables and array elements and pass them to functions in bc. - Added dc's asciify command and stream printing to bc. - Added bitwise and, or, xor, left shift, right shift, reverse, left rotate, right rotate, and mod functions to lib2.bc. - Added the functions s2u(x) and s2un(x,n), to lib2.bc.
* bc: Vendor import new version 3.3.3bc/3.3.3Stefan Eßer2021-03-055-3/+26
|
* Vendor import of Gavin Howard's bc version 3.2.6vendor/bc/3.2.6Stefan Eßer2021-01-313-5/+25
|
* Import version 3.1.4vendor/bc/3.1.4Stefan Eßer2020-08-039-0/+13
| | | | | | | | | | | | | | | | This version makes dc exit after processing all commands passed via -e or -f instead of waiting for more input on STDIN (add "-f -" to the command line to emulate the behavior of versionm 3.1.3 and earlier, if desired). The version and copyright message are no longer printed for interactive sessions as was the case with the prior implementation in the FreeBSD base system. Obtained from: https://git.yzena.com/gavin/bc Notes: svn path=/vendor/bc/dist/; revision=363807 svn path=/vendor/bc/3.1.4/; revision=363808; tag=vendor/bc/3.1.4
* Upgrade to version 3.1.3vendor/bc/3.1.3Stefan Eßer2020-07-102-0/+2
| | | | | | | | This version fixes an incompatibility with GNU bc. Notes: svn path=/vendor/bc/dist/; revision=363074 svn path=/vendor/bc/3.1.3/; revision=363075; tag=vendor/bc/3.1.3
* Update to release 3.1.1vendor/bc/3.1.1Stefan Eßer2020-07-075-2/+15
| | | | | | | | | | This release fixes a regression from traditional bc behavior in FreeBSD with regard to "-e quit" being passed on the command line and add Spanish message catalogs. Notes: svn path=/vendor/bc/dist/; revision=362984 svn path=/vendor/bc/3.1.1/; revision=362985; tag=vendor/bc/3.1.1
* Import new 2-clause BSD licenced implementation of the bc and dc commandsvendor/bc/3.0.2Stefan Eßer2020-06-27136-0/+21909
These implementations of the bc and dc programs offer a number of advantages compared to the current implementations in the FreeBSD base system: - They do not depend on external large number functions (i.e. no dependency on OpenSSL or any other large number library) - They implements all features found in GNU bc/dc (with the exception of the forking of sub-processes, which the author of this version considers as a security issue). - They are significantly faster than the current code in base (more than 2 orders of magnitude in some of my tests, e.g. for 12345^100000). - They should be fully compatible with all features and the behavior of the current implementations in FreeBSD (not formally verified). - They support POSIX message catalogs and come with localized messages in Chinese, Dutch, English, French, German, Japanese, Polish, Portugueze, and Russian. - They offer very detailed man-pages that provide far more information than the current ones. Approved by: imp Obtained from: https://git.yzena.com/gavin/bc Differential Revision: https://reviews.freebsd.org/D19982 Notes: svn path=/vendor/bc/dist/; revision=362697 svn path=/vendor/bc/3.0.2/; revision=362698; tag=vendor/bc/3.0.2