Skip to content

Releases: TomPlum/advent-of-code-libs

Logging: Template Overloads

30 Dec 10:39
Compare
Choose a tag to compare

AdventLogger

  • Added overloaded functions that accept template strings to reduce string constructions and variable evaluation, improving performance.

Hotfix: AdventLogger Performance

30 Dec 10:15
Compare
Choose a tag to compare

AdventLogger

  • Logging level function overrides that accept object parameters no long eagerly invoke the objects toString() function. This was incurring a huge performance cost when logging an object thousands of times, even though the logging level was set such that it would not be logged. The function now invokes the template function from SLF4J that checks with the appender if the log is permissable before evaluating to the toString().

Hotfix: Advent Map Override Data

29 Dec 10:17
Compare
Choose a tag to compare

AdventMap

  • overrideData() now accepts MutableMap and doesn't invoke .toMap(). Improves performance.

Math: Advent Map Mutability

29 Dec 09:21
Compare
Choose a tag to compare

AdventMap

  • Internal data had its visibility reduced from protected to internal.
  • Internal data is now mutable via var.
  • Added overrideData() and getDataMap() functions.
  • Made it lambda variables explicit.

Math: Advent Map Point Generification

26 Dec 18:23
Compare
Choose a tag to compare

Advent Map

  • Generified AdventMap position. Type P is now accepted, restrictred to Point. Reduces consumer casting.

Math: AdventMap Tile Removal

26 Dec 17:41
Compare
Choose a tag to compare

AdventMap

  • Added new AdventMap abstract super class. Contains common functionality across dimensions.
  • Added removeTile() functionality.
  • Removed snapshot() function and exposed data map with protected visiblity.
  • Restricted AdventMap generic type T. It not must be sub-class of MapTile.
  • Kotlin Doc improvements.

Hotfix: 4D Interfaces

17 Dec 22:23
Compare
Choose a tag to compare
  • Point4D now correctly implements Point
  • AdventMap4D is now abstract
  • Kotlin Doc additions

Math: 4th Dimension

17 Dec 22:14
Compare
Choose a tag to compare
  • Added Point Interface
  • Added Point4D
  • Moved Point classes to sub-package
  • Added AdventMap4D

Math: Point3D Adjacency

17 Dec 08:40
Compare
Choose a tag to compare

Point3D:

  • Added adjacent() function. Produces the 26 adjacent Point3D points.

Hotfix: Map2D Performance

12 Dec 20:08
Compare
Choose a tag to compare

AdventMap2D:

  • Fixed performance issue with filterPoints()