Another update, now version 2.3.2
Just a couple of bug-fixes
1. I was surprised that Mandel Machine have fewer glitches even though only double precision is used in both programs. I realized that I transferred to few digits from the arbitrary precision library to the double variables, I have done that all the time, sorry for all the unnecessary glitches. Anyway, solved now!
2. Long double in gcc does not behave as I expected on overflow or underflow, they seem not get into an erroneous state instead just takes the highest or lowest possible value. This caused a glitch when using large bailout smooth coloring at very deep zooms, i.e. >e1000.
3. The extra references were not always placed as intended, causing unnecessary glitches on automatic glitch correction.
4. Large bailout causes long double to overflow already at e4900, so I lowered the value when floatexp is used (are anyone else than me ever going that deep...

)
I am planning to publish the source of Kalles Fraktaler, but I want to make a version for this that is compiled in the free compiler gcc and Bloodshed DevC++ (instead of VS)
But I am stuck in problems regarding operators and references in my arbitrary precision class.
I had this problem also in the floatexp class, but since that class only contains two variables, the cost of copying the parameters on each call isn't that big.
Example:
//How I would like it to be:
floatexp &operator =(floatexp &a)
{
val=a.val;
exp=a.exp;
return *this;
}
floatexp operator *(floatexp &a)
{
floatexp r;
r.val = a.val*val;
r.exp = a.exp+exp;
r.align();
return r;
}
//How I have to do it in order to compile with gcc:
floatexp operator =(floatexp a)
{
val=a.val;
exp=a.exp;
return *this;
}
floatexp operator *(floatexp a)
{
floatexp r;
r.val = a.val*val;
r.exp = a.exp+exp;
r.align();
return r;
}
When it comes to the arbitrary precision class, the content of each variable is very much bigger, and it would be time consuming to copy the in-parameter for each call.
Does anybody have knowledge in how to solve this?