1. 07 Nov, 2016 3 commits
  2. 06 Nov, 2016 2 commits
  3. 27 Oct, 2016 2 commits
  4. 04 Oct, 2016 1 commit
    • Jason Rhinelander's avatar
      single_peak_search: return struct · f3ccc293
      Jason Rhinelander authored
      Returning just the argmax is sort of inconvenient when the max is always
      wanted: this returns a struct that has both .max and .arg elements.  It
      should retain backwards compatibility in most cases by making the struct
      implicitly convertible to a double, yielding the `.arg` value, the same
      as before.
  5. 01 Oct, 2016 1 commit
  6. 25 Sep, 2016 1 commit
  7. 20 Sep, 2016 1 commit
  8. 18 Sep, 2016 1 commit
  9. 17 Sep, 2016 1 commit
    • Jason Rhinelander's avatar
      Added eris/utils.hpp · 12677ad6
      Jason Rhinelander authored
      This class is for programming utility functions, as opposed to
      algorithm which is for C++ implementations of various algorithms.
      It contains a new C++14-compatible index_sequence; it also takes the
      range() function from algorithms.hpp, since it's really about C++
      programming, not an algorithm.
  10. 26 Aug, 2016 1 commit
  11. 24 Aug, 2016 1 commit
  12. 10 Aug, 2016 1 commit
    • Jason Rhinelander's avatar
      Fixed update exception output; minor fixes · 907350b8
      Jason Rhinelander authored
      - don't declare things "virtual override", just use "override" instead
        (you can't override something that isn't virtual, and an override
        doesn't stop the virtualness of the method).
      - RestrictionProxy objects don't need to be protected
  13. 09 Aug, 2016 3 commits
  14. 04 Aug, 2016 3 commits
  15. 02 Aug, 2016 5 commits
  16. 01 Aug, 2016 2 commits
    • Jason Rhinelander's avatar
      Made (Wrapped)?PositionalBase constructors public · 56ec4e56
      Jason Rhinelander authored
      WrappedPositionalBase was already public (before 8a22a760 apparently
      unintentionally changed it a few days ago); restored it to public, and
      made PositionalBase public to match.
    • Jason Rhinelander's avatar
      Positional<T> constructors only participate when T(Args...) is valid · 2e8b26d9
      Jason Rhinelander authored
      Positional<T> and WrappedPositional<T> constructors were participating
      whenever the Positional arguments matched; if the arguments forwarded
      to the T constructor weren't valid, this showed up as a compilation
      error in the Positional<T> constructor.  With this commit, the
      constructors only participate when T is constructible with (Args...).
      This was a problem before, which caused the
      WrappedPositional<T>(Position, ...) constructor to not work, because it
      would be called even when invoked with WrappedPositional<T>(Pos, Pos,
      Pos, ...), then failed because T(Pos, Pos, ...) isn't a valid
      constructor.  This was worked around in e5b1f8b5, which just removed the
      This commit has a better fix that: since T(Pos, Pos, ...) isn't a valid
      constructor, WP<T>(Pos, ...) won't be called when the first three
      arguments are three Positions, and thus it doesn't end up masking the
      desired constructor.
      This same issue affected Positional<T>, which has the same constructor
      format, but apparently wasn't caught (likely because Positional isn't
      used as much as WrappedPositional).
  17. 28 Jul, 2016 4 commits
  18. 27 Jul, 2016 1 commit
    • Jason Rhinelander's avatar
      Devirtualize vectorTo; make move-to-boundary a property · 90965b98
      Jason Rhinelander authored
      vectorTo(PositionalBase) is pointlessly virtual, since it just calls
      vectorTo(pb.position()), and *that* is already virtual.
      Simplify move-to-boundary by making it a property, so that you don't
      have to subclass Positional to get move-to-boundary behaviour: you can
      just set the positional property instead.
  19. 26 Jul, 2016 2 commits
  20. 22 Jul, 2016 4 commits