Skip to content
Snippets Groups Projects
  1. Sep 01, 2016
  2. Aug 31, 2016
  3. Aug 30, 2016
  4. Aug 29, 2016
  5. Aug 25, 2016
  6. Aug 24, 2016
  7. Aug 23, 2016
    • Benjamin Cumming's avatar
      Support for multi-threaded sort · 4376306e
      Benjamin Cumming authored
      * `nest::mc::threading::sort` is analogous to `std::sort`
          * when using TBB the `tbb::parallel_sort` is used
          * otherwise `std::sort` is used
      * used to parallelise connection construction during setup
          * now all initialization and simulation is multi-threaded
      * added a unit test
      4376306e
    • Benjamin Cumming's avatar
      fix issues with Intel Compiler and optimized builds · 99119e5f
      Benjamin Cumming authored
      * replace a call to `std::iota` with a for loop because the Intel
      compiler was optimizing out the `std::iota` call in a unit test.
      * add uniform syntax for converting pointer+size and ArrayView+size
      into an ArrayView to provide uniform method for accessing ranges
      inside mechanisms with/without optimizations.
      99119e5f
  8. Aug 22, 2016
  9. Aug 19, 2016
    • Sam Yates's avatar
      Address PR#83 review · 0ecd0238
      Sam Yates authored
      * Makes EXPECTS() fail handler a global, settable function pointer.
      * Fix `util::upto` for bidirectional iterators with begin==end.
      * Use `std::string` in error reporting with `either` in `partition_view`
        to correct incorrect default conversion in return value.
      * Correct return types for `util::range::operator[]` and `util::range::at()`
      * `transform_iterator` requires only iterator==sentinel test for correct sentinel
        behaviour.
      * Extend partition tests to cover:
        * partition views over short (length) sequences,
        * non-numeric partitions,
        * throw on validation check of non-monotonic sequence,
        * make_partition with short and long size sequences, short division containers.
      * Extend range tests to cover:
        * compatibility with `std::accumulate`,
        * correct constness of dereferences with respect to wrapped iterators,
        * proper type deduction for `make_range` over pointers.
      * Extend span tests to cover:
        * span creation from `std::pair`,
        * proper type promotion with heterogeneous bounds.
      0ecd0238
    • Benjamin Cumming's avatar
      remove spike output callback from communicator · bcb4e57d
      Benjamin Cumming authored
      * make a new gathered_vector type for storing a "distributed" vector
        that has been gathered onto a single node
          * stores the vector
          * stores the partition information
      * split communicator::exchange() into two phases
          * exchange() which simply exchanges spikes
          * make_event_queues() which generates local queues from spikes
      * now callbacks for both local and global spike store can be
        performed in the model
      * and extra meta data about the partition is available for more
        advanced parallel global storage schemes.
      bcb4e57d
    • Sam Yates's avatar
      Ranges and views implementations. · e7acad69
      Sam Yates authored
      * Adds non-owning range class describing a half-open interval
        by a pair of iterators, or by a start iterator and sentinel.
        (Assumption is that these are bounded ranges; unbounded
        ranges are on the todo list.)
      * Adds spans and counting iterators, for iterating across
        intervals of integral types with a range-like interface.
      * Partition in-place creation functions and partition views
        over monotonically increasing sequences.
      * Two-field variant type implementation `util::either<A, B>`.
        (Used to provide an STL- and range for-loop accessible
        façade to sentinel-terminated ranges.)
      * Some simplifications of utitliy classes and tidying up
        of formatting.
      e7acad69
  10. Aug 18, 2016