Next: Fortran Version
Up: INTRODUCTION
Previous: Scope
SLALIB was designed to give application programmers
a basic set of positional-astronomy tools which were
accurate and easy to use. To this end, the library is:
- Readily available, including source code and documentation.
- Supported and maintained.
- Portable - coded in standard languages and available for
multiple computers and operating systems.
- Thoroughly commented, both for maintainability and to
assist those wishing to cannibalize the code.
- Stable.
- Trustworthy - some care has gone into
testing SLALIB, both by comparison with published data and
by checks for internal consistency.
- Rigorous - corners are not cut,
even where the practical consequences would, as a rule, be
negligible.
- Comprehensive, without including too many esoteric features
required only by specialists.
- Practical - almost all the routines have been written to
satisfy real needs encountered during the development of
real-life applications.
- Environment-independent - the package is
completely free of pauses, stops, I/O etc.
- Self-contained - SLALIB calls no other libraries.
A few caveats:
- SLALIB does not pretend to be canonical. It is in essence
an anthology, and the adopted algorithms are liable
to change as more up-to-date ones become available.
- The functions aren't orthogonal - there are several
cases of different
routines doing similar things, and many examples where
sequences of SLALIB calls have simply been packaged, all to
make applications less trouble to write.
- There are omissions - for example there are no
routines for calculating physical ephemerides of
Solar-System bodies.
- SLALIB is not homogeneous, though important subsets
(for example the FK4/FK5 routines) are.
- The library is not foolproof. You have to know what
you are trying to do (e.g. by reading textbooks on positional
astronomy), and it is the caller's responsibility to supply
sensible arguments (although enough internal validation is done to
avoid arithmetic errors).
- Without being written in a wasteful
manner, SLALIB is nonetheless optimized for maintainability
rather than speed. In addition, there are many places
where considerable simplification would be possible if some
specified amount of accuracy could be sacrificed; such
compromises are left to the individual programmer and
are not allowed to limit SLALIB's value as a source
of comparison results.
Next: Fortran Version
Up: INTRODUCTION
Previous: Scope
SLALIB --- Positional Astronomy Library
Starlink User Note 67
P. T. Wallace
12 October 1999
E-mail:ptw@star.rl.ac.uk