Skip to content

Roadmap

Jordan Welsman edited this page Feb 22, 2023 · 5 revisions

This is a rough plan of the next versions of jutils. This module is intended to be as useful and accessible as possible.

Upcoming releases

0.3.0 - The Time Flies update (tbc)

  • Timer class
    • start(), stop(), and reset() functions
    • Dunder functions for naming and representation
  • Stopwatch class
    • start(), lap(), stop(), and reset() functions
    • Dunder functions for naming, representation and length

0.4.0 - The Pipeline update (tbc)

  • Pipelining classes
    • SIMD, MISD, and MIMD architectures
    • function_list attribute for instruction ordering
    • threads parameter for parallel processing
    • Dunder functions for naming, representation and length

0.5.0 - The Sorted update (tbc)

  • Sorting algorithm functions
    • Selection of algorithm implementations
    • Support for sorting various data types

Intended features

Averages

Calculators

Converters

  • Write conversion functions
    • Angle degree conversions
    • Area conversions
    • Density conversions
    • Distance conversions
    • Force conversions
    • Heat conversions
    • Mass conversions
    • Pressure conversions
    • Temperature conversions
    • Time conversions
    • Viscosity conversions
    • Volume conversions
  • Implement common BASE classes
  • Implement color conversion functions
    • (R, G, B) to #Hex
    • #Hex to (R, G, B)
    • (R, G, B) to (C, M, Y, K)
    • (C, M, Y, K) to (R, G, B)
    • (R, G, B) to (H, S, L)
    • (H, S, L) to (R, G, B)
    • (R, G, B) to (H, S, V)
    • (H, S, V) to (R, G, B)

Cryptography

  • Implement ciphers
    • Alphabetic reversal cipher
    • Caesar cipher
    • Polygraphic cypher
    • Substitution cipher
    • Transposition cipher
    • XOR cipher
  • Implement cryptography algorithms

Data structures

  • Implement data structures
    • Circular buffer
    • Graph
    • Hashmap
    • Heap
    • Linked list
    • Multimap
    • Multiset (Bag)
    • Queue
    • Self-organizing list
    • Skip list
    • Stack
    • Tree
    • Trie

Language

Logic gates

Pipelining

Sorters

  • Implement sorting algorithms
    • Bingo sort
    • Bubble sort
    • Bucket sort
    • Counting sort
    • Heap sort
    • Insertion sort
    • Merge sort
    • Quicksort
    • Radix sort
    • Selection sort
    • Shell sort
  • Write language sorting algorithms
    • Sentence-word sorter
    • Word-letter sorter

Terminal formatting

  • Implement text formatting classes for terminal output
  • Implement different solutions for different platforms

Timers

  • Create timer classes
    • Timer
    • Stopwatch

Utilities