Change Notes#

Changed in Version 2.1.2#

Changed in Version 2.1.1#

Changed in version 2.0.6#

Changed in version 2.0.5#

  • Added beta IPyPlot class, for plotting with matplotlib
    • This class is not considered “official”, and is not guaranteed to be backwards compatible with minor revision changes

Note

When H2MM_C was first introduced, different version numbers were given in Zenodo and pip repositories, creating confusion, as one stated at 1.x.x, the other at 0.x.x. Version 2.0.5 marks the unification of these versioning systems. All version in Documentation refrence the pip versioning.

Changed in version 2.0.0#

  • Interface changes
    • max_iter default now 2046 ( \(2^{11} - 2\), so that output includeing initial and last non-calculated modelof size \(2^{11} = 2048\))

    • inplace of EM_H2MM_C(), h2mm_model.optimize(), and h2mm_model.evaluate() now defaults to False

    • Introduction of Printer and subclasses StdPrinter and IPyPrinter to handle formatting of output through print_formatter in EM_H2MM_C()
      • New print_func

      • print_args no longer used to set update frequency and keep
        • Use print_freq and print_fmt_kwargs instead (see further notes)

    • print_func as a function now takes signature (niter, new, current, old, iter_time, total_time, *print_args, **print_kwargs)

    • print_func no longer called before optimization to check output type etc.

    • bounds_func now takes signature (niter, new, current, old, *bounds, **bounds_kwargs)

    • bounds_func no longer called before optimization

  • Internal Changes
    • Improved memory handling, indexes arrays no longer copied

    • Switched types of most C variables to fixed width <stdint.h> defined types
      • indexes from unsigned long to uint8_t

      • deltas (times) from unsigned long to int32_t

      • h2mm_mod.nstate/ndet to int64_t