Well I was completely wrong. I just had such a sure feeling when I woke up Friday morning, my intuition felt so sound. I didn’t even bother running the simple experiments that would have told me I was on the wrong track. I just dove right in to updating my code to display trees of different collatz functions with different values for divisor, multiplier, and offset.
There’s a lesson here, I just know it. Something about looking before you leap . . . nah, that’s not it. If at first you don’t succeed, try, try, again? That doesn’t sound right either. Oh yeah – I got it: Don’t worry, be happy. That’s the moral to every story, right?
Not knowing swift, it went more slowly than expected. Still, I had been wanting a little project that was a good excuse to learn swift on, and this was a perfect one to do it. All in all, there was no real loss. I spent a lot of my time porting an implementation of the Reingold-Tilford layout algorithm from C# to swift. I’ll get my code posted to github soon, and if someone wants to make a swift package for the layout they are welcome to do so (or I may do it myself if I find the time).