Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GNU Scientific Library
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== C++ support === The GSL can be used in [[C++]] classes, but not using pointers to member functions, because the type of ''pointer to member function'' is different from ''pointer to function''.<ref>[http://www.parashift.com/c++-faq-lite/pointers-to-members.html#faq-33.1 Pointers to member functions]. {{webarchive|url=https://web.archive.org/web/20041013202445/http://www.parashift.com/c++-faq-lite/pointers-to-members.html |date=2004-10-13 }}.</ref> Instead, pointers to static functions have to be used. Another common workaround is using a [[Function object|functor]]. C++ wrappers for GSL are available.<ref name="ccgsl"/><ref name="gslmm"/><ref name="gslwrap"/><ref name="gslcpp"/> Not all of these are regularly maintained. They do offer access to matrix and vector classes without having to use GSL's interface to [[malloc]] and [[Free (programming)|free]] functions. Some also offer support for also creating workspaces that behave like [[Smart pointer]] classes. Finally, there is (limited, as of April 2020) support for allowing the user to create classes to represent a parameterised function as a [[Function object|functor]]. While not strictly wrappers, there are some C++ classes <ref name="osscl">[https://neutronstars.utk.edu/code/o2scl/html/index.html o2scl Object-oriented Scientific Computing Library]; </ref><ref name="yat">[https://web.archive.org/web/20101103060841/http://dev.thep.lu.se/yat/ yat].</ref> that allow C++ users to use the Gnu Scientific Library with wrapper features.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)