Subject: CVS commit: pkgsrc/math/bc-gh
From: Greg Troxel
Date: 2020-05-17 00:54:21
Message id: 20200516225421.EDB91FB27@cvs.NetBSD.org

Log Message:
math/bc-gh: Update to 2.7.2

Upstream NEWS highlights:
(translations and bugfixes omitted)

## 2.7.2

This is a production release with one major bug fix.

The `length()` built-in function can take either a number or an array. If it
takes an array, it returns the length of the array. Arrays can be passed by
reference. The bug is that the `length()` function would not properly
dereference arrays that were references. This is a bug that affects all users.

**ALL USERS SHOULD UPDATE `bc`**.

## 2.7.0

There is only one new feature: **`bc` now has a built-in pseudo-random number
generator** (PRNG).

The PRNG is seeded, making it useful for applications where
`/dev/urandom` does not work because output needs to be reproducible. However,
it also uses `/dev/urandom` to seed itself by default, so it will start with a
good seed by default.

On top of that, four functions were added to `bc`'s [extended math library][16]
to make using the PRNG easier:

* `frand(p)`: Generates a number between `[0,1)` to `p` decimal places.
* `ifrand(i, p)`: Generates an integer with bound `i` and adds it to `frand(p)`.
* `srand(x)`: Randomizes the sign of `x`. In other words, it flips the sign of
  `x` with probability `0.5`.
* `brand()`: Returns a random boolean value (either `0` or `1`).

## 2.4.0

* The `bc` `&&` and `||` operators were made available to `dc` through \ 
the `M`
  and `m` commands, respectively.
* `dc` macros were changed to be tail call-optimized.

The last item, tail call optimization, means that if the last thing in a macro
is a call to another macro, then the old macro is popped before executing the
new macro. This change was made to stop `dc` from consuming more and more memory
as macros are executed in a loop.

The `q` and `Q` commands still respect the "hidden" macros by way of \ 
recording
how many macros were removed by tail call optimization.

Files:
RevisionActionfile
1.4modifypkgsrc/math/bc-gh/Makefile
1.2modifypkgsrc/math/bc-gh/PLIST
1.4modifypkgsrc/math/bc-gh/distinfo