Microcells are initialised by setting times since last detected photon, by sampling the distribution of a renewal process.
This renewal process assumed a constant photon arrival rate (mean of all photon rates), rather than emulating the incoming photon stream. This is a problem as periodic signals are initialised with an aperiodic assumption, so the first few recovery times of the output MIGHT be invalid.
From my testing it seems like an excellent approximation, but it's still an approximation and writing a better form of the renewal process which accounts for varying rate parameter might be the way I need to go.
API Key authentication should be implemented to ensure safety.
This could be easily achieved using a NoSQL database queried by the server on a simulation request.
This may require a large rewrite on how the API is used.
Server crashes after running a lot of simulations.
the N it crashed on is listed here for a few runs:
144935
144680
144935
148389
Error message in terminal is:
free(): invalid next size (normal)
These are suspiciously close to 2^17
As server has four cores - something is happening around 2^15
This seems like an issue with a signed integer somewhere.