1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

 TODO list for inhomog
* Add some mechanism for checking that required values in the
structures background_cosm_params and rza_integrand_params have
been initialised and are valid. [high priority; usability;
robustness]
* Documentation: doxygenisation. Rough initial draft done, as of
v0.1.1. [high priority; usability]
* Throwing errors  which suspicious choices should be considered
warnings vs fatal errors? which should be thrown up through
the hierarchy of routines using e.g. the <errno.h> library?
According to https://lintian.debian.org/tags/shlibcallsexit.html,
*all* errors, including fatal ones, should be thrown up
the hierarchy and the C exit() function should not at all be
used. [medium priority]
* Libtool  in the extended regular expression of the libtool
option exportsymbolsregex in lib/Makefile.am, restrict
this to routines ("symbols") that really need to be used
externally; this will require increasing the V number of
the library, since this means removing symbols from the
interface. [low priority]
* Reread IEEE and GNU guidelines and play with lib/test_gsl_ieee
to see if gsl ieee modes can be usefully integrated into inhomog.
[low priority]
  DONE 
* LCDM speed  try out Kasai (2010, arXiv:1012.2671) equation (5)
for the flat, nonEdS FLRW growth function: use maxima to obtain
polynomial+sqrt ratios for the first and second derivatives;
combine this with a_dot_flatFLRW to get the two time derivatives of
the growth function. Benchmark the Kasai vs Bildhauer et al
expressions; Kasai also refers to a less accurate Lahav
approximation used by Carroll. It's not clear if any of these
alternative expressions have less than about 2030 operations
to compute, so the time invested might not improve the speed
by much. DONE: significant speedups  see notes in git, then in
ChangeLog or briefly in NEWS.
* LCDM speed  benchmark EdS vs LCDM calculation speed for
a call to Omega_D. Work out why LCDM seems to be about 80 or so
times slower than EdS and see if the LCDM case can be sped
up. FLRW_background.c has analytical formulae for the LCDM (generic
flatFLRW) a(t), t(a), and \dot{a}(t) functions, so the slowdown for
LCDM should not need to be so great. 20190105: DONE: the nonEdS
growth function is the slowdown factor, by a factor of about
2030.
* Debianisation  as of version >= 0.1.5 (debian: 0.1.51), inhomog
is available in source code at
https://anonscm.debian.org/cgit/debianastro/packages/inhomog.git
or more generally, see
http://tracker.debian.org/inhomog for studying Debian warnings
and errors in the debianised version of inhomog; fixes should
preferably be done upstream at bitbucket so that they are available
for all users.
