aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-07-26Change main to use new numerics module.Aryadev Chavali
2024-07-26Implemented numerics in numerics.cppAryadev Chavali
Simple implementation, few refactors from the main.cpp version based on API changes.
2024-07-26Rework node constructor and general procedure APIAryadev Chavali
Node constructor is now completely default constructed i.e. no constructor arguments required. The iterate function takes the queue by reference, so it can update the caller's state. Finally, to_string for a Node now uses the node allocator and an index to print out trees. Seems simpler and more in line with the current implementation.
2024-07-26Made header file for a separate numerics fileAryadev Chavali
Separates the (basically) completed cw_tree implementation in a separate module so we can spend time implementing graphics in main. NOTE: nodes are now generated from a node allocator, which just wraps around the vector. We also take an allocator and queue by reference in the iterate procedure now.
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