aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2024-07-26Clean up count drawing logic a bit, add iterations to the count textAryadev Chavali
2024-07-26Added counter to draw loop to show the amount of nodes computedAryadev Chavali
2024-07-26Functioning main loop which draws number lines and iterationsAryadev Chavali
Pretty cool!
2024-07-26Function to draw the complete number lineAryadev Chavali
Draws a guide line, computes bounds (which we should defer), draws all nodes in the tree then draws the bounds.
2024-07-26Make draw_node_number_line non recursiveAryadev Chavali
Using a stack or queue, we can replace a function recursive tree traversal with a single call. A stack would make it a DFS while a queue would be a BFS. Since there's only ever two children, and at high iteration counts we're getting quite large depth, it would be best to do a DFS, hence the stack.
2024-07-26recursive function to draw tree in a number lineAryadev Chavali
Draws the current node by converting its norm value (which is in (lower, upper)) to a screen value, drawing a line there. It then recurs on the children of the node.
2024-07-26Helper to draw a fraction as text at point (x, y)Aryadev Chavali
2024-07-26Helper to convert a value in (min, max) to an equivalent in (0, width)Aryadev Chavali
2024-07-26Helpers to get the rightmost and leftmost nodeAryadev Chavali
This, due to the properties of a cw tree, will be the largest and smallest fraction of the tree.
2024-07-26Define some constants and include a ton of stuffAryadev Chavali
2024-07-26Make window in RaylibAryadev Chavali
2024-07-26Change main to use new numerics module.Aryadev Chavali
2024-07-26A simple test, iterating 10 times and printing out the generated treeAryadev Chavali
Seems to work!
2024-07-26Fix up indenting and empty children in to_string for nodeAryadev Chavali
2024-07-26Added to_string for NodesAryadev Chavali
Recursive implementation with proper indenting!
2024-07-26Added to_string for fractionsAryadev Chavali
2024-07-26Rework binary tree to use indexes in nodes vectorAryadev Chavali
An index is a pointer, and they don't change if the vector decides to reallocate internally unlike the bastardised pointers I was rolling up before. This simplifies design a bit.
2024-07-26Added helper method to allocate nodes from the vector for meAryadev Chavali
The vector acts as an arena for the nodes to be allocated from, better and faster than allocating each child on the heap individually.
2024-07-26Queue based iteration procedureAryadev Chavali
Pops an item off the queue and generate left and right children for it, if those are empty. Then push those children into the queue for the next iteration. NOTE: Because we're using a queue, this does a breadth first generation of the tree, which is what we want.
2024-07-26Binary tree of fractionsAryadev Chavali
Will be used in creating the cw tree.
2024-07-26Simplify at constructor in FractionAryadev Chavali
Let's just deal with simplified stuff anyway?
2024-07-26Added comparators to Fraction structAryadev Chavali
2024-07-26Extracted gcd algorithm into its own functionAryadev Chavali
2024-07-26Simple fraction structureAryadev Chavali
Holds numerator and denominator. Can self simplify, but not automatically.
2024-07-26Hello, world!Aryadev Chavali