Agena v. 4.12.1 (10/5/2025, Alexander Walz) |
Readme/What's new |
4.12.1 Merryville, May 10, 2025
- Added a the new `poles` option to `calc.differ`: when given, the function internally checks for poles before choosing and calling the best differentiating function for the given arguments (or better: situation), provided that the second or a higher-order derivative is to be computed. Since searching for poles consumes a lot of computation time, `calc.differ` by default does not perform this check as the function is often called by `calc.extrema`, `calc.inflec`, `calc.saddles` to compute characteristic points over an interval. Example:
> calc.differ(<< x -> 1/x >>, 0, deriv = 2): # compute the 2nd derivative for x = 0
4.6496190867403e-015
> calc.differ(<< x -> 1/x >>, 0, deriv = 2, poles = true):
undefined
- `calc.poles` has been improved by also checking the first derivative of the input function for poles. This allows to get poles near points where the function does not have a change of sign:
> calc.poles(<< x -> 1/x^2 >>, -10, 10):
seq(0)
- Tweaked `calc.differ` a bit by avoiding superfluous function calls.
- At least on ARM platforms, the `calc.zeroin` and `calc.zeroab` rootfinders could sometimes go into an infinite loop, thus also affecting `calc.poles`, calc.extrema`, `calc.inflec`, `calc.saddles` and `calc.differ`. On other platforms, it cannot be ruled out that this also happened in certain numerical situations. However, the issue has been fixed across platforms.
- The `union`, `intersect` and `minus` operators now accept `null` as one or two operands. In this case the operators assume that `null` represents a structure of zero size and perform the respective operation. This makes coding a bit easier.
- Likewise, `op`, `unique`, `subs`, `subsop`, `map`, `@`, `select`, `remove`, `$`, `$$` accept `null` as an argument and just return `null`.
- When creating registers of size zero, Agena correctly created a structure with the default size (16), but internal size counters have been incorrectly set to zero. This has been fixed.
- This release has been Valgrind-checked on x86 Linux to ensure there are no internal errors or memory leaks. |
Agena v. 3.16.1 (update2, 17/5/2024, Alexander Walz) |
Readme/What's new |
AGENA LIBRARY (CUMULATIVE) UPDATE
Improvements
------------
3.16.1 Library Update 2 Anson, May 17, 2024
- The precision of the factorial function fact left much to be desired with higher order integral arguments n, especially with
n > 101. This has been fixed.
- Removed non-existing territories from data/langreg.csv.
Installation
------------
This update can be used on all operating systems. You may need administrator rights to install this update.
Prerequisite
------------
Please have at least Agena 3.16.1 installed.
Solaris, UNIX, and Mac
----------------------
In Solaris, OpenSolaris, Linux, and Mac, the Agena installation can be found in /usr/agena. (This folder includes
at least the following subdirectories: doc, lib, schemes, and share). Please cd into this Agena main directory,
i.e. into /usr/agena.
Proceed with step `Unpack`.
Windows
-------
In Windows, your Agena installation might usually reside in
- <drive letter>:\Programs\Agena, or
- <drive letter>:\Program Files\Agena, or
- <drive letter>:\Program Files (x86)\Agena.
Please cd into this Agena subdirectory. Its contents is as follows:
13.03.2022 21:22 <DIR> .
13.03.2022 21:22 <DIR> ..
13.03.2022 21:22 <DIR> bin
13.03.2022 21:22 <DIR> doc
13.03.2022 21:22 <DIR> lib
13.03.2022 21:22 <DIR> share
13.03.2022 21:22 61.346 uninstall.exe
Proceed with step `Unpack`.
DOS
---
In DOS, locate the Agena directory that includes the licence and change.log files, and cd into this directory.
Please proceed with step `Unpack`.
Unpack
------
Copy this ZIP archive to your main Agena folder (see above) you just cd'ed into.
Please copy the lib/*.agn files in the lib folder of this ZIP archive to the lib folder of your Agena
installation, overwriting the original files.
If present, copy the updated documentation in the doc directory of this ZIP archive to the doc folder of your
Agena installation, overwriting the original files. If present, please also copy scheme(s) files included in
this update to the schemes folder.
Or just for short: in a shell, just issue the following statement after cd'ing:
unzip -o *update*
Really Updated ?
----------------
To check whether the update has been successfully installed: The start-up message should now include the word
`Update`, e.g.:
AGENA >> a.b.c Update n. (C) 2006-20xy http://agena.sourceforge.net.
That's it.
|
Agena v. 3.16.1 (11/5/2024, Alexander Walz) |
Readme/What's new |
3.16.1 Anson, May 11, 2024
- In the past, when a number was suffixed by the letter 'd', the number was multiplied by 12 (dozen notation). Now the number is assumed
to represent degrees and is automatically converted to radians through multiplication by Pi/180.
> 90d:
1.5707963267949
Likewise, if a number is suffixed by the letter 'r', it is assumed to be in radians and automatically converted to degrees through
multiplication by 180/Pi:
> 1.5707963267949r:
90
The suffix 'D' still represents dozens, so for example:
> 10D:
120
- New `math.todegrees` is the complement to `math.toradians` and converts radians to degrees:
> math.todegrees(Pi/2):
90
- `math.todecimal` did not work well - or unexpectedly - with negative components. This has been fixed by converting all values to positive
while preserving the sign in the result.
> math.todecimal(-1, 30, 45):
-1.5125
> math.todecimal(-1, 30, -45):
-1.5125
- Likewise, `math.toradians` did not work well with negative optional arguments. This has been fixed the same way as for `math.todecimal`.
- `math.dd` was 16 times slower than equivalent `math.todec`, because the former used string parsing and the latter a precise numeric
approach. So from now on, `math.dd` uses the same code as `math.todec`, the latter which has also now been deprecated. An alias
has been provided to ensure backward-compatibility.
- `math.splitdms` has been tuned by eight times, now using arithmetics instead of string processing. |
Commenti
Alexander Walz
Sab, 13/05/2017 - 20:06
Collegamento permanente
Hello,
Aggiungi un commento