mandelbrot/mandelbrot.h

29 lines
597 B
C++

#pragma once
#include <cmath>
#include "utils.h"
#include <cstdint>
#include <omp.h>
#include <thread>
#include <vector>
using namespace Util;
class Mandelbrotc {
public:
Vec2mp f, t;
uint8_t thread_count;
std::vector<std::thread> threads;
Vec2i s;
//std::vector<std::vector<uint8_t>> screen;
uint8_t **screen;
bool done;
uint32_t max_iter;
Mandelbrotc(Vec2mp const &f, Vec2mp const &t, Vec2i const &s, uint32_t mi);
void start_threads(bool first);
void stop_threads();
uint32_t mandelbrot(const Vec2mp &n);
void calc(const uint8_t tid);
};