35#include "ramCanvas.hpp"
39 std::chrono::time_point<std::chrono::system_clock> startTime = std::chrono::system_clock::now();
40 const int BSIZ = 2048;
42 std::random_device rd;
43 std::mt19937 rEng(rd());
44 std::uniform_real_distribution<double> uniform_dist_double(-2.0, 2.0);
45 std::uniform_int_distribution<int> uniform_dist_int(3, 7);
47 mjr::ramCanvas1c16b theRamCanvas(BSIZ, BSIZ, -1, 1, -1, 1);
50 for(
int j=0; j<100000; j++) {
51 std::map<uint64_t, uint64_t> ptcnt;
52 double a = uniform_dist_double(rEng);
53 double b = uniform_dist_double(rEng);
56 std::complex<double> z(0.01,0.01);
57 for(uint64_t i=0;i<1000;i++) {
58 double tmp = std::sin(xn*xn-yn*yn+a);
59 yn = std::cos(2*xn*yn+b);
61 ptcnt[((uint64_t)theRamCanvas.real2intX(xn))<<32 | ((uint64_t)theRamCanvas.real2intY(yn))] = 1;
63 if(ptcnt.size() >= maxCnt) {
64 maxCnt = ptcnt.size();
65 std::cout <<
" { " << a <<
", " << b <<
", 0.0, 0.0, 10000000}, // " << maxCnt << std::endl;
68 std::chrono::duration<double> runTime = std::chrono::system_clock::now() - startTime;
69 std::cout <<
"Total Runtime " << runTime.count() <<
" sec" << std::endl;
int main(int argc, char *argv[])