Comments (11)
These functions are now present in gelpia (FPTaylorCompat) both the a* and arc* versions. What are your preferred ranges for arcsin and arccos? Gaol prefers [-pi/2,pi/2] for the former and [0,pi] for the latter.
from gelpia.
I updated my previous comment.
from gelpia.
Ranges [-pi/2,pi/2] for arcsin and [0,pi] for arccos are most common so I agree with Gaol choices.
from gelpia.
I'll leave this open in case you find any problems.
from gelpia.
Wei-Fan once ran into the need for inverse trig functions in one of the
benchmarks we were contemplating (forgot which). Since FPTaylor does not
have support for these (afaik), we did not pursue them.
Ganesh
On Mon, Jul 11, 2016 at 3:11 PM, monadius [email protected] wrote:
I would like to be able to use inverse trigonometric functions in .dop
files. The following functions are requested:
arcsin
arccos
arctan
Alternative names for these functions should also be available: asin,
acos, atan—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#12, or mute the thread
https://github.com/notifications/unsubscribe/AEyiCu_wTd30uLb_epLCVS3iS2gB9UDyks5qUrGXgaJpZM4JJyUw
.
from gelpia.
I implemented asin, acos, sinh, cosh, and tanh in FPTaylor (atan was already there). You can open an issue directly in the FPTaylor project when you need a new feature.
from gelpia.
Should we include hyperbolic functions? We use CRlibm which GAOL suggests cosh, sinh and tanh are not rounded correctly; oddly their inverses are rounded correctly. I've never been able to obtain a working version of libultim required by APLibMath, so we can't use the correctly rounding APLibMath.
Should I expose these functions and warn users that they may not be correct?
from gelpia.
It is better to be safe. You may include sinh, cosh, tanh in the frontend and then convert them to the corresponding math expressions: sinh(x) = (exp(x) - exp(-x)) / 2, cosh(x) = (exp(x) + exp(-x)) / 2, tanh(x) = (exp(2_x) - 1)/(exp(2_x) + 1).
from gelpia.
I'll have to carefully examine the proofs of the hyperbolic functions in crlibm; in short they don't seem to guarantee 1ULP for all cases. For now I'll implement these functions in terms of exp
.
from gelpia.
Hyperbolic functions are now implemented. Inverses can be used with the prefix "arc" or simply "a". A test directory has been added to ensure that the implementations return correct answers.
from gelpia.
Please also add the prefix "ar" for inverse hyperbolic functions: arsinh, arcosh, and artanh. (Wikipedia)
There should be 3 names for one function: asinh, arsinh, arcsinh, etc.
from gelpia.
Related Issues (20)
- Cargo seems to have changed and we're not capturing the compile command anymore
- Named constants (pi) HOT 21
- Unary minus parsing problem HOT 2
- NaN result in a simple test HOT 5
- A simple test with "pi" fails HOT 3
- atan + sqrt bug HOT 5
- Unused variables HOT 1
- Gelpia is not returning variables in the order declared HOT 6
- Duplicate variable declarations allowed HOT 2
- Invalid intervals are allowed HOT 1
- Hyperbolic functions in constant lifting HOT 1
- Min/max solver is not directly invokable
- Compilation problems with `make requirements` dependencies
- Build problem HOT 6
- Exceptional float values HOT 1
- FPTaylor abs_err
- Invalid syntax error while using Gelpia for the first time HOT 1
- Installation takes up >40G HOT 2
- Generated function files are not always cleaned up
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gelpia.