in System.Numerics/SIMD/Mandelbrot/ScalarDouble.cs [50:81]
public void RenderSingleThreadedNoADT(float xminf, float xmaxf, float yminf, float ymaxf, float stepf)
{
double xmin = (double)xminf;
double xmax = (double)xmaxf;
double ymin = (double)yminf;
double ymax = (double)ymaxf;
double step = (double)stepf;
int yp = 0;
for (double y = ymin; y < ymax && !Abort; y += step, yp++)
{
int xp = 0;
for (double x = xmin; x < xmax; x += step, xp++)
{
double accumx = x;
double accumy = y;
int iters = 0;
double sqabs = 0.0;
do
{
double naccumx = accumx * accumx - accumy * accumy;
double naccumy = 2.0 * accumx * accumy;
accumx = naccumx + x;
accumy = naccumy + y;
iters++;
sqabs = accumx * accumx + accumy * accumy;
} while (sqabs < limit && iters < max_iters);
DrawPixel(xp, yp, iters);
}
}
}