170 похожих чатов

Как-То я пока застрял на таком, не уверен возможно ли

то что я задумал, в рамках С++17 без дополнительных библиотек?
Есть обычная статическая фунция типа:

SomeString to_string(double num, int precision)
{
SomeString s;
...
s.Format(_format_str, num + (0.1 / (std::pow(10.0, precision + 1))));
...
return s;
}

В основном вызывается так:
auto res = to_string(some_double_num, 2);

реже, без константноо значения точности:
auto res = to_string(some_double_num, some_prec);

есть ли какая-то возможность посчитать "(0.1 / (std::pow(10.0, precision + 1)))" в компайл тайме
если используется вызов "to_string(some_double_num, 2)"?

Ну, допустим constexpr функцию подсчета я написал, но я пока не смог прилепить ее для to_string()

template <typename T>
constexpr T ipow(T num, unsigned int pow)
{
return (pow >= sizeof(unsigned int) * 8) ? 0 :
pow == 0 ? 1 : num * ipow(num, pow - 1);
}

constexpr double _calc_correction(int precision)
{
return 0.1 / (ipow(10.0, precision + 1));
}

Только не спрашивайте зачем это, это легаси код со своей логикой форматирования и конвертирования в строку.

1 ответов

8 просмотров

Шаблонами думаю

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
13
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Карта сайта