35#include "ramCanvas.hpp"
39 const int BSIZ = 480*8;
41 std::random_device rd;
42 std::mt19937 rEng(rd());
43 std::uniform_real_distribution<double> uniform_dist_double(-2.0, 2.0);
45 mjr::ramCanvas1c16b theRamCanvas(BSIZ, BSIZ, -2, 2, -2, 2);
47 for(
int j=0; j<1000; j++) {
48 std::map<uint64_t, uint64_t> ptcnt;
49 double a = uniform_dist_double(rEng);
50 double b = uniform_dist_double(rEng);
51 double c = uniform_dist_double(rEng);
52 double d = uniform_dist_double(rEng);
62 for(itr=1;itr<10000000;itr++) {
63 double xNew = x*x-y*y+a*x+b*y;
64 double yNew = 2*x*y+c*x+d*y;
65 if (xNew > xMax) xMax = xNew;
66 if (xNew < xMin) xMin = xNew;
67 if (yNew > yMax) yMax = yNew;
68 if (yNew < yMin) yMin = yNew;
69 if ( !theRamCanvas.isCliped(x, y)) {
71 theRamCanvas.incPxChan(x, y);
72 if(theRamCanvas.getPxColor(x, y).getC0() > maxII) {
73 maxII = theRamCanvas.getPxColor(x, y).getC0();
82 if ( (inCnt > 1000000) && (xMin < xMax) && (yMin < yMax) ) {
83 mjr::ramCanvas1c16b::coordIntType uCnt = theRamCanvas.statNumNonZeroPixels();
85 std::cout <<
" { " << a <<
", " << b <<
", " << c <<
", " << d <<
", " << 0.1 <<
", " << 0.1 <<
", " <<
"1e8, " << xMin <<
", " << xMax <<
", " << yMin <<
", " << yMax <<
" }, // " <<
" INC: " << inCnt <<
" UNQ: " << uCnt << std::endl;
int main(int argc, char *argv[])