Agena is an easy-to-learn procedural programming language suited to be used in scientific, educational, linguistic, and many other applications, including scripting.
What’s new in version 3.11.1
Updated on Mar 07 2024
New `math.cscd` and `math.secd` take an argument in degrees and compute the cosecant and secant, respectively.
Introduced the new `units` package which converts between physical units. It is some sort of a quick-and-dirty solution in the sense that it spares you a lot of typing and to get results as fast as possible:
`units.celsius` takes a value in Fahrenheit and converts it to degrees Celsius.
`units.fahren` takes a value in Celsius and converts it to degrees Fahrenheit.
`units.mile` takes a value in kilometres and converts it to statute miles. Nautical miles are supported by passing any second argument.
`units.km` takes a value in statute miles and converts it to kilometres. Nautical miles for the input are supported by passing any second argument.
`units.foot` takes a value in metres and converts it to International feet. US, UK, Indian and historical Rhineland feet are supported by providing the option 'US', 'UK', 'India' or 'Rhineland', respectively. Likewise, new `utils.meter` takes a value in feet and converts it to metres, with the beforementioned options supported, as well.
`units.yard` converts from metres to yards.
By passing the new fifth argument `false` to `calc.regulafalsi`, you can switch off the check on whether the computed result is within the given borders. In this case the function does not return `null` but the iterated value. The function now in general also automatically stops computation if it took more than 250 iterations, so it cannot go into an infinite loop any longer.
`math.epsilon` returned exactly zero with methods 0 and 1 when its argument was zero. This has been fixed, and now `ulp` will be returned, see the Primer and Reference for details. Thus, `calc.differ` no longer issues an error when differentiating a function at the origin.