Skip to content
Fast, multithreaded implementation of the Ackermann Function in C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

A fast, multithreaded, C++ Ackermann calculator

This is not really meant to have any use, I just thought it would be cool to make. It's still very much a WIP, so don't expect the title claims to be true necessarily, check the TODO category down below to make sure.

Using the recursive implementation of the Ackermann function the stack gets blown pretty quickly, so I have opted for an iterative approach instead. This, however, brings other limitations to the table. The need to deal with arrays means true arbitrary precision can't be achieved, since array declarations only accept up to unsigned long as size determinator, not mpz_t or mpz_class. What this means is that fundamentally this will be limited in some aspects to 64-bit integers, this may have a solution eventually, but right now I have no clue how to fix it.


  • ack.cpp - The main file containing the calculator



  • Have a simple Ackermann base code -
  • Implement arbitrary precision -
  • Implement parallelism -
  • Optimize code -

- Done, 🕓 - On the works, - To do

You can’t perform that action at this time.