Skip to content
Snippets Groups Projects
  1. Oct 12, 2021
  2. Oct 08, 2021
  3. Oct 07, 2021
  4. Oct 06, 2021
  5. Oct 05, 2021
  6. Oct 04, 2021
  7. Sep 30, 2021
  8. Sep 29, 2021
    • Thorsten Hater's avatar
      Segfault on instantiating mechanisms on empty regions (#1657) · dff0a86f
      Thorsten Hater authored
      More, subtler fallout of the ABI patchset: When mechanisms are added to empty regions, various, layered segfaults
      appear.
      1. `set_parameter` will receive a `nullptr` upon linear search, throwing `no such parameter`
      2. Guarding this for finite `width` uncovers further need in the ABI interface methods
      3. This is caused by early exit in `instantiate` on `width == 0`
      4. Getting rid of this is better, as we can treat vacuous mechanism painting like all others...
      5. ...but causes another segfault, since we default index arrays to `cv_pos.back()` but `cv_pos` is empty.
      
      This patch fixes all of the above and in addition removes mechanisms without support before reifying them
      on the FVM cells. Relevant tests are added.
      dff0a86f
  9. Sep 28, 2021
    • Robin De Schepper's avatar
      Added an empty catalogue (#1677) · bae9e9a3
      Robin De Schepper authored
      Expose default (empty) catalogue constructor to Python
      bae9e9a3
    • Nora Abi Akar's avatar
      Fix modcc simd generation (#1681) · b7ba25a1
      Nora Abi Akar authored
      Fixes 2 bugs where modcc expects a range variable but gets a non-range variable instead.
      
          PowBinaryExpressions were being handled separately from other BinaryExpressions and as a result, some crucial analysis was being skipped on the analysis of the lhs and rhs arguments. This PR incorporates the analysis and printing of PowBinaryExpression into BinaryExpression.
          Printing code for a masked AssignmentExpression was not handling the case of a non-range variable on the rhs of the assignment correctly. In that case, an explicit cast to a vector is needed, which is added in this PR.
      b7ba25a1
  10. Sep 24, 2021
  11. Sep 20, 2021
    • Robin De Schepper's avatar
      Fixed MRO and code duplication in `setup.py` (#1672) · f13f786a
      Robin De Schepper authored
      The duplication arose from slightly more complicated composition than usual but could be resolved by proper MRO, it took me a few passes from its original form as well before I figured out the situation is not as complicated as it seems.
      
      `super()` is equal to `super(cls, self)` where `cls` is obtained from the current function's class scope. If arg 2  is an object it will start an MRO search of the object, but skipping classes before the 1st arg type is encountered. In our case with the following base classes: `(_command_template, base_command_class)` this means we can define our base logic in `_command_template` and use `super()` calls there to traverse the MRO in `(base_command_class,)`, so by simply defining `class install_command(_command_template, install)` and `bdist_wheel_command(_command_template, bdist_wheel)` our MRO issue is solved and the duplication removed.
      f13f786a
    • Nora Abi Akar's avatar
      Fix cv_policy parse and write in ACC (#1665) · c34b7c96
      Nora Abi Akar authored
      - Allow CV policies to be parsed and written as a `defaultable` in an ACC decor description. 
      - The format used is `(default (cv-policy (_cv-policy-sexpr_)))`. 
      - Add unit tests. 
      - Fix strange white-space formatting.
      
      Fixes #1660
      c34b7c96
    • Sam Yates's avatar
      Fix on-components on empty cable bug (#1658) · ab537bb1
      Sam Yates authored
      * Filter results of `ls::on_components(1, reg)` to avoid duplicate or
      coincident locations arising from terminal zero-length cables in region
      argument.
      ab537bb1
  12. Sep 09, 2021
  13. Sep 06, 2021
  14. Sep 01, 2021
  15. Aug 27, 2021
  16. Aug 24, 2021
  17. Aug 23, 2021
  18. Aug 20, 2021
    • thorstenhater's avatar
      Fix ambiguous Region/Locset expressions (#1629) · 939cb91a
      thorstenhater authored
      - Add a set of test cases to check the behaviour
      - Remove the function `(nil)` from the the DSL
      - Remove `nil` and `()` as literals
      - Add functions `(region-nil)` and `(locset-nil)`
      
      Fixes an issue where `join` (and likely `intersect`) would not work due to the fact that
      `nil` values could not be coerced to `region` or `locset`. This occurred while loading 
      a NML files.
      
      While investigating it was found that certain calls, eg `(join () ())` are ambiguous and cannot
      be resolved without changes in no proportion to the gain. The cause here is that
      we can resolve `()` as region or a locset and at the same time `join` maps a list of
      locsets or regions to a locset or region, consequently `(join () ())` can be both.
      
      For future reference, in `label_parse.cpp::eval` we look for the first match in the `eval_map` 
      of a function name that can be successfully evaluated. However, this might not be the best match
      (and the ordering depends on the internals of `eval_map`).  We _could_ check all successful
      evaluations, but as eval is recursive, this idea has some obvious issues.
      939cb91a
  19. Aug 19, 2021
  20. Aug 17, 2021