aboutsummaryrefslogtreecommitdiff
path: root/example.c
blob: ca9afa23aa7014383bcac103cffb4a5aa44a8f1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <math.h>
#include <stdio.h>

#define PI 3.141592653

#include "gragl.h"

Scalar sin_scalar(double x) {
	Scalar y = {
		.v = sin(x),
		.valid = 1
	};

	return y;
}

Scalar cos_scalar(double x) {
	Scalar y = {
		.v = cos(x),
		.valid = 1
	};

	return y;
}

Scalar tan_scalar(double x) {
	Scalar y = {
		.v = tan(x),
		.valid = 1
	};

	return y;
}

Scalar sincos_scalar(double x) {
	Scalar y = {
		.v = sin(x) * cos(x) * cos(x) * cos(x) * x,
		.valid = 1
	};

	return y;
}

int main() {
	Function group1[] = {
		FUNC_AUTO(sin_scalar),
		FUNC_AUTO(cos_scalar),
	};

	Function group2[] = {
		FUNC_AUTO(tan_scalar),
	};

	Function group3[] = {
		FUNC_AUTO(sincos_scalar),
	};

	Plot2d plot1 = PLOT_AUTO(group1);
	Plot2d plot2 = PLOT_AUTO(group2);
	Plot2d plot3 = PLOT_AUTO(group3);

	Plot2dGroup * group = create_plot2d_group(4, plot1, plot2, plot3);
	plot(group);
	free_plot2d_group(group);

	return 0;
}