46{
47
49 "POINT(1.1111111111111 1.1111111111111)",
50 "cx=\"1\" cy=\"-1\"",
51 0, 0);
52
53
55 "POINT(1.1111111111111 1.1111111111111)",
56 "x=\"1\" y=\"-1\"",
57 0, 1);
58
59
61 "LINESTRING(1.1111111111111 1.1111111111111,1.1111111111111 1.1111111111111)",
62 "M 1 -1 L 1 -1",
63 0, 0);
64
65
67 "LINESTRING(1.1111111111111 1.1111111111111,1.1111111111111 1.1111111111111)",
68 "M 1 -1 l 0 0",
69 0, 1);
70
71
72
74 "POINT(1.2345678901234 1.2345678901234)",
75 "cx=\"1.23456789\" cy=\"-1.23456789\"",
76 9, 0);
77
78
80 "POINT(1.2345678901234 1.2345678901234)",
81 "x=\"1.23456789\" y=\"-1.23456789\"",
82 9, 1);
83
84
86 "LINESTRING(1.2345678901234 1.2345678901234,2.3456789012345 2.3456789012345)",
87 "M 1.23456789 -1.23456789 L 2.345678901 -2.345678901",
88 9, 0);
89
90
92 "LINESTRING(1.2345678901234 1.2345678901234,2.3456789012345 2.3456789012345)",
93 "M 1.23456789 -1.23456789 l 1.111111011 -1.111111011",
94 9, 1);
95
96
97
99 "POINT(1E300 -1E300)",
100 "cx=\"1e+300\" cy=\"1e+300\"",
101 0, 0);
102
103
105 "POINT(1E300 -1E300)",
106 "x=\"1e+300\" y=\"1e+300\"",
107 0, 1);
108
109
111 "LINESTRING(1E300 -1E300,1E301 -1E301)",
112 "M 1e+300 1e+300 L 1e+301 1e+301",
113 0, 0);
114
115
116 do_svg_test(
"LINESTRING(1E300 -1E300,1E301 -1E301)",
"M 1e+300 1e+300 l 9e+300 9e+300", 0, 1);
117}
static void do_svg_test(char *in, char *out, int precision, int relative)