Logo by Maya - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. November 29, 2025, 09:53:50 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: 1 ... 14 15 [16] 17 18 ... 30   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Kalles Fraktaler 2  (Read 151679 times)
0 Members and 1 Guest are viewing this topic.
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #225 on: February 27, 2014, 08:43:29 PM »

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... wink)

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:
Code:
//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?
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
hobold
Fractal Bachius
*
Posts: 573


« Reply #226 on: February 28, 2014, 12:48:40 AM »

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.
Try declaring the input parameters as "const" references. You might have to declare the function itself as "const", too, to meet the strict behaviour of the operators that you are trying to overload. So you would have something like:

floatexp operator =(const floatexp& a) const {
 . . .
}
Logged
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #227 on: March 02, 2014, 10:40:01 PM »

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)

That sounds like something I'd like to play with...

just looking over some other operators in some mathlibs (wanting to make a GPU arbitrary complex type) and this is how I see it in these libs...

single args to return *this
Code:
floatexp& operator=(const floatexp&);

two args to return define var other than *this
Code:
floatexp operator*(const floatexp& a, const floatexp& b) {
floatexp c;
c.val = a.val * b.val;
c.exp = a.exp + b.exp;
return c;
}

edit: http://code.google.com/p/heo/source/browse/trunk/contrib/arprec/include/arprec/mp_complex_inline.h

has a myriad of operator decls smiley
« Last Edit: March 02, 2014, 11:32:26 PM by 3dickulus, Reason: link! » Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #228 on: March 09, 2014, 09:00:50 PM »

Uncompileable code can be downloaded from http://www.chillheimer.de/kallesfraktaler/fraktal_src.zip
Free to use and distribute, an acknowledge is appreciated but no responsibility taken.
If anyone is able to compile it with gcc, or have any opinions on how I solve things, positive or negative criticism, please share.

ƘᎥИÐ ЯЄ❡ᗩЯÐᔕ ƘᗩℓℓЄ
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
Chillheimer
Global Moderator
Fractal Schemer
******
Posts: 972


Just another fractal being floating by..


chilli.chillheimer chillheimer
WWW
« Reply #229 on: March 10, 2014, 07:46:33 PM »

very generous and cool step you took there kalle!
thank you!
Logged

--- Fractals - add some Chaos to your life and put the world in order. ---
Dinkydau
Fractal Senior
******
Posts: 1616



WWW
« Reply #230 on: March 14, 2014, 01:14:02 AM »

This reminds me of the structures that sometimes appear inside minibrots, except this time it's not in minibrots.

Left contains glitches, right is correct.

The program uses many reference points to render it like this, but it is often fixed just by placing the main reference in the center of such a distorted spiral.
Logged

knighty
Fractal Iambus
***
Posts: 819


« Reply #231 on: March 14, 2014, 06:34:22 PM »

It's a Misiurewicz (pre-periodic) point which make good reference points. see: http://www.fractalforums.com/announcements-and-news/mandel-machine/msg71597/#msg71597
Logged
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #232 on: March 16, 2014, 07:40:24 PM »

The program uses many reference points to render it like this, but it is often fixed just by placing the main reference in the center of such a distorted spiral.
Yes, structures can appear on any glitches, your flake view is one of the most palpable, but on other views it may be enough with only one reference to render the whole view without any glitches.
But how can a program know which pixel in advance?
Maybe if the program first calculates one pixel per 10 in a grid, i.e. 1/100 of all the pixels, or maybe even less, and if any of these pixels has higher iteration count than the center, it stops and use that pixel as main reference. It won't find the exact best pixel to use as reference, and would still need to add references, but maybe structured glitches can be avoided?
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
Dinkydau
Fractal Senior
******
Posts: 1616



WWW
« Reply #233 on: March 16, 2014, 09:38:46 PM »

I'm afraid there would still be exceptions. These glitches appear throughout my video, so I spent a few days solving them. Placing the main reference in a distorted spiral fixes the spirals, but often it makes the center inaccurate! In particular that happens when there is something complex in the center like a julia set with shapes inherited from the last minibrot passed by. In such situations it usually helps to place the main reference point somewhere close to the center but not exactly in the center, while sometimes simply nothing works.

Fortunately, far into the zoom and close to the final minibrot, where the render time gets extreme, the structures including the spirals become so small that the distortions aren't visible anymore.

I wonder where the lack of accuracy comes from. Clearly the theory works otherwise we wouldn't be able to render anything at all. There are just some errors somewhere. I think the glitch problem should be solveable without workarounds somehow.
Logged

Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #234 on: March 17, 2014, 02:14:19 PM »

I think the glitch problem should be solveable without workarounds somehow.
That is my wish too, but I haven't found it.
And no one else either as far as I know, and we are several that have struggle with it.
Unfortunately my knowledge in chaos math is too limited to find a solid or theoretical solution, I am only able to do workarounds...
Manual glitch solving needs, currently(?), to be an enjoyable(?) part of the rendering wink
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #235 on: March 17, 2014, 10:27:41 PM »

I found a bug shocked that I have corrected: one GDI handle leaked for every zoom-in.  embarrass

Two more things I have played with also got added, version 2.3.3
- scaled double between e300 and e600, which increases speed on this interval with more than 3 times horsie riding
- maximum depth more than e100000  grin

Available on http://www.chillheimer.de/kallesfraktaler/
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
hapf
Fractal Lover
**
Posts: 219


« Reply #236 on: March 18, 2014, 11:14:24 AM »

That is my wish too, but I haven't found it.
And no one else either as far as I know, and we are several that have struggle with it.
Unfortunately my knowledge in chaos math is too limited to find a solid or theoretical solution, I am only able to do workarounds...
Manual glitch solving needs, currently(?), to be an enjoyable(?) part of the rendering wink
Glitches are unavoidable given the limited resolution of double hardware computations (or any other format, if you zoom deep enough). Depends where you zoom if you see any or not. The deeper and the more embedded Julia sets the more glitches and the more references needed to solve them. The real problem are not the glitches. The real problem is finding out which pixels are affected by glitches (aka corruption). Once you know that blob fixing is not a big issue. Doing it most efficiently is a challenge, though (e.g. recomputing all corrupted pixels with arbitrary precision is not efficient).
Logged
Chillheimer
Global Moderator
Fractal Schemer
******
Posts: 972


Just another fractal being floating by..


chilli.chillheimer chillheimer
WWW
« Reply #237 on: March 18, 2014, 11:23:59 AM »

great to see that you're still working on improving it smiley

may I recommend to make a dedicated post that you made kf open source? this crucial info might otherwise drown in this huge thread.
Logged

--- Fractals - add some Chaos to your life and put the world in order. ---
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #238 on: March 19, 2014, 03:53:18 AM »

regarding operators and references in my arbitrary precision class.

in my .h file the operators look like...

Code:
   floatexp& operator=(const floatexp& other);
   floatexp* operator=(floatexp* other);

and in the .cpp file like...

Code:
floatexp& floatexp::operator=(const floatexp& other)
{
    this->foo = other.foo;
}

floatexp* floatexp::operator=(floatexp* other)
{
    this->foo  = other->foo;
}

this is working in GCC 4.7, hope this helps smiley
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
SeryZone
Strange Attractor
***
Posts: 253


Contemplate...


« Reply #239 on: March 19, 2014, 06:45:03 AM »

Thank you, Karl!!! Now we can zoom to infinity!!!

P.s. I don't understand how your classes works... For SIMD I learn 'Raw' code with standart types...
Logged

Pages: 1 ... 14 15 [16] 17 18 ... 30   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Superfractalthing or Kalles Fraktaler General Discussion paolo 6 11926 Last post January 27, 2014, 12:08:08 PM
by panzerboy
Kalles Fraktaler 95 (Sery'z Edition) Movies Showcase (Rate My Movie) SeryZone 2 10051 Last post July 11, 2014, 09:12:32 PM
by SeryZone
4k zoom mix - Kalles Fraktaler Movies Showcase (Rate My Movie) Fractal Kaleidoscope 2 10416 Last post July 19, 2014, 02:48:23 PM
by SeryZone
Kalles Fraktaler 2.5.7 Kalles Fraktaler « 1 2 » Kalles Fraktaler 20 26339 Last post October 25, 2017, 07:26:34 PM
by Mrz00m

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.356 seconds with 29 queries. (Pretty URLs adds 0.017s, 2q)