1414#include " parser/symbols/relational_operators.hpp"
1515
1616#include < doctest/doctest.h>
17- #include < fmt/format.h>
1817
18+ #include < format>
1919#include < ranges>
2020
2121namespace mfl
@@ -34,14 +34,15 @@ namespace mfl
3434
3535 auto render_symbols (const symbol_render_config& config, const std::ranges::range auto & symbols)
3636 {
37- const auto d = std::div (long (std::ranges::distance (symbols)), long (config.num_columns ));
38- const auto num_rows = size_t (d.quot + ((d.rem > 0 ) ? 1 : 0 ));
39- const auto width = 720_px;
40- const auto height = double (num_rows) * config.line_height + 40_px;
37+ const auto num_symbols = static_cast <long >(std::ranges::distance (symbols));
38+ const auto [quot, rem] = std::div (num_symbols, static_cast <long >(config.num_columns ));
39+ const auto num_rows = static_cast <size_t >(quot + ((rem > 0 ) ? 1 : 0 ));
40+ constexpr auto width = 720_px;
41+ const auto height = static_cast <double >(num_rows) * config.line_height + 40_px;
4142 auto columns = std::vector<column_config>(config.num_columns );
4243 for (auto && [i, col] : std::views::enumerate (columns))
4344 {
44- col.x = (double (i) * (width / double (config.num_columns ))) + 10_px;
45+ col.x = (static_cast < double > (i) * (width / static_cast < double > (config.num_columns ))) + 10_px;
4546 col.line_height = config.line_height ;
4647 col.num_rows = num_rows;
4748 }
@@ -183,9 +184,10 @@ namespace mfl
183184
184185 TEST_CASE (" accents" )
185186 {
186- const auto formulas = parser::accents //
187- | std::views::keys //
188- | std::views::transform ([](const char * name) { return fmt::format (" {}{{a}}" , name); });
187+ constexpr auto formulas =
188+ parser::accents //
189+ | std::views::keys //
190+ | std::views::transform ([](const char * name) { return std::format (" {}{{a}}" , name); });
189191 const auto result = render_symbols ({.num_columns = 5 }, formulas);
190192
191193 approve_svg (result);
@@ -213,9 +215,10 @@ namespace mfl
213215 TEST_CASE (" additional_accents" )
214216 {
215217 // TODO - some additional accents are set in the wrong place
216- const auto formulas = parser::additional_accents //
217- | std::views::keys //
218- | std::views::transform ([](const char * name) { return fmt::format (" {}{{a}}" , name); });
218+ constexpr auto formulas =
219+ parser::additional_accents //
220+ | std::views::keys //
221+ | std::views::transform ([](const char * name) { return std::format (" {}{{a}}" , name); });
219222 const auto result = render_symbols ({.num_columns = 3 }, formulas);
220223
221224 approve_svg (result);
@@ -310,10 +313,10 @@ namespace mfl
310313
311314 TEST_CASE (" delimiters" )
312315 {
313- const auto formulas =
316+ constexpr auto formulas =
314317 std::views::zip (parser::left_delimiters | std::views::keys, parser::right_delimiters | std::views::keys)
315318 | std::views::transform (
316- [](const auto delims) { return fmt ::format (" {} x \\ {}" , std::get<0 >(delims), std::get<1 >(delims)); });
319+ [](const auto delims) { return std ::format (" {} x \\ {}" , std::get<0 >(delims), std::get<1 >(delims)); });
317320 const auto result = render_symbols ({.num_columns = 2 , .input_offset = 40_px}, formulas);
318321
319322 approve_svg (result);
@@ -420,9 +423,9 @@ namespace mfl
420423
421424 TEST_CASE (" combining_symbols" )
422425 {
423- const auto formulas = parser::combining_symbols //
424- | std::views::keys //
425- | std::views::transform ([](const char * name) { return fmt ::format (" c \\ {}" , name); });
426+ constexpr auto formulas = parser::combining_symbols //
427+ | std::views::keys //
428+ | std::views::transform ([](const char * name) { return std ::format (" c \\ {}" , name); });
426429 const auto result = render_formulas ({.width = 720_px,
427430 .height = 100_px,
428431 .render_input = true ,
0 commit comments