oandrieu / ocamlgsl Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/ocamlgsl
License: GNU General Public License v3.0
Automatically exported from code.google.com/p/ocamlgsl
License: GNU General Public License v3.0
This is an interface to GSL (GNU scientific library), for the Objective Caml langage. * REQUIREMENTS - gsl >= 1.10 - ocaml >= 3.07 - awk and GNU make - gcc or MSVC The platform must not need to align doubles on double-word addresses, i.e. ARCH_ALIGN_DOUBLE must be undefined in <caml/config.h> * BUILDING & INSTALLING - have a look at the variables in Makefile and gcc.mak/msvc.mak. comment out DYNAMIC_LINKING if it isn't supported on your platform. - make - (optional) make install INSTALLDIR=/absolute/path/to/installdir or : make install-findlib to link : ocamlopt -I gsldir bigarray.cmxa gsl.cmxa my_prog.ml or : ocamlc -I gsldir -dllpath gsldir bigarray.cma gsl.cma my_prog.ml * CHANGES cf. the NEWS file to see what's changed between ocamlgsl versions. WARNING : the code is not heavily tested ! * DOCUMENTATION Check the GSL manual ! You can browse the module interfaces with the ocamldoc-generated HTML files in the doc/ directory. * VECTOR / MATRICES There are several datatypes for handling vectors and matrices. - modules Gsl_vector, Gsl_vector.Single, Gsl_vector_complex, Gsl_vector_complex.Single and the corresponding matrix modules use bigarrays with single or double precisions real or complex values. - modules Gsl_vector_flat, Gsl_vector_complex_flat and the corresponding matrix modules use a record wrapping a regular caml float array. This is the equivalent of the gsl_vector and gsl_matrix structs in GSL. - module Gsl_vectmat defines a sum type with polymorphic variants that regroups these two representations. For instance : Gsl_vectmat.v_add (`V v1) (`VF v2) adds a vector in a caml array to a bigarray. - modules Gsl_blas Gsl_blas_flat and Gsl_blas_gen provide a (quite incomplete) interface to CBLAS for these types. * ERROR HANDLING Errors in GSL functions are reported as exceptions : Gsl_error.Gsl_exn (errno, msg) You have to call Gsl_error.init () so as to initialize error reporting; otherwise, the default GSL error handler is used and aborts the program, leaving a core dump (not so helpful with caml). If a callback (for minimizers, solvers, etc.) raises an exception, ocamlgsl either return GSL_FAILURE or NaN to GSL, depending on the type of callback. In either case the original caml exception is not propagated. The GSL function will either return normally (but probably with values containing NaNs somewhere) or raise a Gsl_exn exception. * CONTACT Project homepage (with source code browser and bug tracker): http://code.google.com/p/ocamlgsl/ Olivier Andrieu <[email protected]>
Using .opt binaries in examples limits it to native architecture.
Original issue reported on code.google.com by [email protected]
on 20 Apr 2010 at 8:07
Attachments:
There is no link between http://oandrieu.nerim.net/ocaml/gsl/ and this site in
either direction.
Original issue reported on code.google.com by ygrekheretix
on 10 Jul 2011 at 8:41
http://paste.pound-python.org/show/9104/ has example code and output. Built
with ocaml 3.11.2 on OS X using ocamlbuild.
Original issue reported on code.google.com by [email protected]
on 6 Jul 2011 at 12:10
Some GSL functions return an int status other than GSL_CONTINUE without calling
the error
handler (eg, the _iterate functions for minimization and root-finding). The
corresponding caml
function returns unit, no exception is raised and thus some information is lost.
Solutions:
1. manually call the error handler in the wrapper for these functions. Problem
is to identify them
(probably no other way than having a thorough look at the GSL source)
2. stop using the GSL error handler alltogether and always check the return
status of all GSL
functions. Problem: lots of changes in ocamlgsl :)
Original issue reported on code.google.com by [email protected]
on 23 Nov 2009 at 9:23
This has been tested on a debian system.
Original issue reported on code.google.com by [email protected]
on 20 Apr 2010 at 8:06
Attachments:
It has been tested on Debian buildd
Original issue reported on code.google.com by [email protected]
on 20 Apr 2010 at 8:03
Attachments:
Update headers: license is now GPLv3
Original issue reported on code.google.com by [email protected]
on 23 Nov 2009 at 9:33
The attached patch adds support for the gsl_stats_correlation function as
Gsl_stats.correlation.
Original issue reported on code.google.com by [email protected]
on 25 Apr 2009 at 7:45
Attachments:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.