mightymandel v16

GPU-based Mandelbrot set explorer

parse_mdz_center.c File Reference

(v16)

#include <assert.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mpfr.h>
#include "parse.h"
#include "parse_mdz_center.h"
+ Include dependency graph for parse_mdz_center.c:

Go to the source code of this file.

Functions

bool parse_mdz_center (const char *source, int length, mpfr_t cx, mpfr_t cy, mpfr_t cz)
 Parse MDZ .mdz file format (center variant).

Function Documentation

bool parse_mdz_center ( const char *  source,
int  length,
mpfr_t  cx,
mpfr_t  cy,
mpfr_t  cz 
)

Parse MDZ .mdz file format (center variant).

File format example:

aspect 1.77777
cx -0.75
cy 0.0
size 5.33333

Size \(s\) is the real width, convert to radius \(r\) (half imaginary height) by using the aspect \(a\): \(r = \frac{s}{2 a}\). Double precision floating point has enough precision and enough range for any real-world aspect ratio.

Parameters
sourceA null-terminated input file already loaded into memory.
lengthLength of the input file (without the extra null terminator).
cxFor output of the real part of the view center. It is already mpfr_init2()'d.
cyFor output of the imaginary part of the view center. It is already mpfr_init2()'d.
czFor output of the view radius. It is already mpfr_init2()'d.
Returns
Success (true) or failure (false).

Definition at line 15 of file parse_mdz_center.c.

References parse_line(), precision_for_radius(), and radius_is_valid().

+ Here is the call graph for this function: