aboutsummaryrefslogtreecommitdiffstats
path: root/src/chilbert_svg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/chilbert_svg.cpp')
-rw-r--r--src/chilbert_svg.cpp68
1 files changed, 34 insertions, 34 deletions
diff --git a/src/chilbert_svg.cpp b/src/chilbert_svg.cpp
index dd4a3d4..7033bec 100644
--- a/src/chilbert_svg.cpp
+++ b/src/chilbert_svg.cpp
@@ -26,38 +26,38 @@
int
main(int argc, char** argv)
{
- if (argc != 2) {
- fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]);
- return 1;
- }
-
- const unsigned long num_points = std::strtoul(argv[1], nullptr, 10);
- if (num_points == 0 || num_points == ULONG_MAX) {
- fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]);
- return 1;
- }
-
- const uint32_t w =
- uint32_t(sqrt(1 << uint32_t(ceil(log2(double(num_points)))))) - 1;
-
- // Header
- printf("<svg xmlns='http://www.w3.org/2000/svg'"
- " version='1.2' baseProfile='tiny' viewBox='0 0 %u %u'>\n",
- w,
- w);
- printf("<desc>Hilbert Curve</desc>\n");
- printf("<polyline vector-effect='non-scaling-stroke' fill='none' "
- "stroke='black' stroke-width='1' points='");
-
- // One polyline through all vertices
- for (uint64_t i = 0; i <= num_points; ++i) {
- std::array<uint32_t, 2> point;
- chilbert::index_to_coords(point, 32, 2, i);
- printf("%u,%u ", point[0], point[1]);
- }
-
- // Close off document
- printf("' />\n</svg>\n");
-
- return 0;
+ if (argc != 2) {
+ fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]);
+ return 1;
+ }
+
+ const unsigned long num_points = std::strtoul(argv[1], nullptr, 10);
+ if (num_points == 0 || num_points == ULONG_MAX) {
+ fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]);
+ return 1;
+ }
+
+ const uint32_t w =
+ uint32_t(sqrt(1 << uint32_t(ceil(log2(double(num_points)))))) - 1;
+
+ // Header
+ printf("<svg xmlns='http://www.w3.org/2000/svg'"
+ " version='1.2' baseProfile='tiny' viewBox='0 0 %u %u'>\n",
+ w,
+ w);
+ printf("<desc>Hilbert Curve</desc>\n");
+ printf("<polyline vector-effect='non-scaling-stroke' fill='none' "
+ "stroke='black' stroke-width='1' points='");
+
+ // One polyline through all vertices
+ for (uint64_t i = 0; i <= num_points; ++i) {
+ std::array<uint32_t, 2> point;
+ chilbert::index_to_coords(point, 32, 2, i);
+ printf("%u,%u ", point[0], point[1]);
+ }
+
+ // Close off document
+ printf("' />\n</svg>\n");
+
+ return 0;
}