1. 28 Apr, 2014 3 commits
    • Jason Rhinelander's avatar
      Use Cholesky decomposition to invert · f89bf6f1
      Jason Rhinelander authored
      The previous version was using a generic LU inverse, which ran into
      numerical stability problems for large q values.  For example,
      
      q=7, c=0, b=(1.40, 1.41, ..., 1.50) looked like:
      
      0.1767019
      0.1741197
      0.1640931
      0.1330334
      0.2003187
      0.1792207
      0.1792029
      0.175216
      0.1836156
      0.2131243
      0.2235138
      
      because the source data files have only slight variation in that range.
      Using a cholesky decomposition inverse fixes this, and gives numbers
      agreeing exactly with JGM's fortran version (which also uses Cholesky
      decomposition):
      
      0.1744341
      0.1780252
      0.181262
      0.1841298
      0.1866257
      0.1887341
      0.1904548
      0.1917758
      0.1926928
      0.1932153
      0.1933418
      
      which agrees precisely with JGM's (trimmed) fracdist output of:
      
       P value = 0.174
       P value = 0.178
       P value = 0.181
       P value = 0.184
       P value = 0.187
       P value = 0.189
       P value = 0.190
       P value = 0.192
       P value = 0.193
       P value = 0.193
       P value = 0.193
      f89bf6f1
    • Jason Rhinelander's avatar
      Added note about binaries · 8f5942a7
      Jason Rhinelander authored
      8f5942a7
    • Jason Rhinelander's avatar
      26a17709
  2. 12 Mar, 2014 2 commits
  3. 10 Mar, 2014 1 commit
    • Jason Rhinelander's avatar
      Header install location fix; components for win32 · e440bf1a
      Jason Rhinelander authored
      The 1.0.0 release binary packages were installing headers in the wrong
      place (include/common.hpp, etc. instead of include/fracdist/common.hpp),
      and were missing the fracdist/data.hpp header.
      
      Added component configurations for Windows installers so that Windows
      users can elect to not install the headers and/or docs when using the
      .exe installer.
      e440bf1a
  4. 09 Mar, 2014 7 commits
  5. 08 Mar, 2014 10 commits
  6. 07 Mar, 2014 9 commits
  7. 06 Mar, 2014 8 commits
    • Jason Rhinelander's avatar
      6020d8e6
    • Jason Rhinelander's avatar
      Implemented critical value code + various changes · 4477681d
      Jason Rhinelander authored
      - the critical value code and fdcrit executable are now implemented,
        and agree with fracdist.f results.
      - exposed the quantile calculation code (renaming it to
        fracdist_get_quantiles)
      - fracdist_get_quantiles now caches its result; the cache will be used
        when next call uses the same q, b, constant, and interp values, and
        reset when called with new values.
      - Fixed code that wasn't freeing the return quantiles array.
      - abstracted closest-value-finding and bracket-finding code (since they
        are used for both pvalue and critical value code).
      - cache the results of the chisq inverse (this will mostly help if
        critical values are sought several times).
      - added new fracdist_error_unknown error code for reporting unknown
        errors (currently used if fracdist_get_quantiles somehow returns a
        null pointer without setting error_code_).  This error shouldn't ever
        happen, but is useful as a safety check against potential bugs.
      4477681d
    • Jason Rhinelander's avatar
      Changed `constant' from unsigned char to bool · d1ee612b
      Jason Rhinelander authored
      The code already needs C99, so might as well use C99's bool.
      d1ee612b
    • Jason Rhinelander's avatar
      Don't bother trimming the data values · 9232a672
      Jason Rhinelander authored
      fracdist-data.c is only used to build the .so, which contains machine
      representation of all this data anyway: reducing the size of the .c is
      thus pointless.  On top of that, it really saves very little (around
      26KB in a 2.76MB file).
      9232a672
    • Jason Rhinelander's avatar
      Added support for multiple values at once · 28256f0d
      Jason Rhinelander authored
      This required rearranging arguments so that the test statistic comes
      last (so that more than one can be given).  Output is now one p-value
      per line, in the same order as those given on the command line
      arguments.
      
      This also silences some unsigned/signed and long/int comparison
      warnings.
      28256f0d
    • Jason Rhinelander's avatar
      93372289
    • Jason Rhinelander's avatar
      5755efcd
    • Jason Rhinelander's avatar
      Added compilation notes · 682d4ab8
      Jason Rhinelander authored
      682d4ab8