Информация об изменениях

Сообщение Re[3]: double_uint_t<Type>, half_uint_t<Type> от 13.10.2019 16:21

Изменено 13.10.2019 17:18 rg45

Re[3]: double_uint_t<Type>, half_uint_t<Type>
Здравствуйте, Videoman, Вы писали:

V>
V>// Дальше используется как-то так:
V>double_uint_t<uint32_t> a; // а будет 64-х битным
V>half_uint_t<uint32_t> b;   // b будет 16-и битным
V>


V>Полностью согласен с вами. Никак не мог придумать название четко отражающее суть, но без использования double. На данном этапе мне не принципиально. Готов рассмотреть предложенный вами лучший вариант . В свое оправдание могу только заметить, что и название стандартного типа: дроби с плавающей точной — double, не совсем удачное. У себя в проектах мы всегда используем float32_t и float64_t.


Ну предложить решение всегда труднее, чем просто покритиковать

На счет неудачного использования double для обозначения чисел с плавающей точкой согласен. Но изменить это не в наших силах, к сожалению, поэтому как-то с этим нужно жить. В качестве альтернативного подхода могу предложить известный трюк: перенесение части имени функции в параметры шаблона. И тогда рассматриваемый фрагмент мог бы выглядеь как-то так:

expand<uint32_t, 2> a; // а будет 64-х битным
shrink<uint32_t, 2> b; // b будет 16-и битным
Re[3]: double_uint_t<Type>, half_uint_t<Type>
Здравствуйте, Videoman, Вы писали:

V>
V>// Дальше используется как-то так:
V>double_uint_t<uint32_t> a; // а будет 64-х битным
V>half_uint_t<uint32_t> b;   // b будет 16-и битным
V>


V>Полностью согласен с вами. Никак не мог придумать название четко отражающее суть, но без использования double. На данном этапе мне не принципиально. Готов рассмотреть предложенный вами лучший вариант . В свое оправдание могу только заметить, что и название стандартного типа: дроби с плавающей точной — double, не совсем удачное. У себя в проектах мы всегда используем float32_t и float64_t.


Ну предложить решение всегда труднее, чем просто покритиковать

На счет неудачного использования double для обозначения чисел с плавающей точкой согласен. Но изменить это не в наших силах, к сожалению, поэтому как-то с этим нужно жить. В качестве альтернативного подхода могу предложить известный трюк: перенесение части имени в параметры шаблона. И тогда рассматриваемый фрагмент мог бы выглядеть как-то так:

expand<uint32_t, 2> a; // а будет 64-х битным
shrink<uint32_t, 2> b; // b будет 16-и битным