383 karma · joined January 3, 2013
just to not be cruel, it's an m3 without UKW-D, 3 rotors and a plugboard :)
EDIT: I think I answered my question looking at the code. There are a lot more rotors known (see cryptomuseum). Some things I found while writing an enigma: many online enigmas have some bugs with double stepping the wheel on a single press, which the machine did not do. The Humboldt University Berlin's online enigma is correct. There is also a very similar machine used by the Soviets until the 1980s that you can probably represent with the same datastructures called Fialka: https://en.wikipedia.org/wiki/Fialka.
My test case that returns different results on different emulators is: M3, rotors III, II, I, no ring setting, UKW-B, starting position AEQ. The string ABCDEFGHIJ produces OMUQBCLPVR in minarke.c and produces LUINDKMWNH in the University Humboldt Berlin enigma. I believe the latter is correct.
I'm mainly just using llama.cpp as a native library now, mainly for the direct access to more of llama's data structures, and because I have a sort of unique sampler setup.
I had wrapped this and had it working in Ollama months ago as well: https://github.com/ollama/ollama/pull/814. I don't use Ollama anymore, but I really like the way they handle device memory allocation dynamically, I think they were the first to do this well.