From 033863ab3d37574441183f65664d0c72ab2707be Mon Sep 17 00:00:00 2001 From: JP Appel Date: Fri, 26 Apr 2024 01:07:10 -0400 Subject: first pass at cuda implementation --- src/fractals.h | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'src/fractals.h') diff --git a/src/fractals.h b/src/fractals.h index 611e4e6..1c745d9 100644 --- a/src/fractals.h +++ b/src/fractals.h @@ -1,8 +1,9 @@ #pragma once +#ifndef __NVCC__ #include -#include -#include +#endif + #include "grids.h" #include "precision.h" @@ -16,20 +17,24 @@ typedef union { typedef void (*fractal_generator)(grid_t* , const grid_gen_params* ); +#ifndef __NVCC__ size_t mandelbrot(const CBASE complex z0, const size_t max_iterations); -void mandelbrot_grid(grid_t* grid, const grid_gen_params* params); - size_t tricorn(const CBASE complex z0, const size_t max_iterations); -void tricorn_grid(grid_t* grid, const grid_gen_params* params); - size_t burning_ship(const CBASE complex z0, const size_t max_iterations); -void burning_ship_grid(grid_t* grid, const grid_gen_params* params); - size_t multibrot(const CBASE complex z0, const size_t max_iterations, const double d); -void multibrot_grid(grid_t* grid, const grid_gen_params* params); - size_t multicorn(const CBASE complex z0, const size_t max_iterations, const double d); -void multicorn_grid(grid_t* grid, const grid_gen_params* params); - size_t julia(const CBASE complex z0, const CBASE complex c, const size_t max_iterations, const double R); +#endif + +#ifdef __cplusplus +extern "C" { +#endif +void mandelbrot_grid(grid_t* grid, const grid_gen_params* params); +void tricorn_grid(grid_t* grid, const grid_gen_params* params); +void burning_ship_grid(grid_t* grid, const grid_gen_params* params); +void multibrot_grid(grid_t* grid, const grid_gen_params* params); +void multicorn_grid(grid_t* grid, const grid_gen_params* params); void julia_grid(grid_t* grid, const grid_gen_params* params); +#ifdef __cplusplus +} +#endif -- cgit v1.2.3