<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876547</guid>
        <pubDate>Tue, 20 Sep 2022 18:59:38 +0000</pubDate>
        <title>Зачем эти &amp;quot;странные&amp;quot; библиотечные мат. функции</title>
        <link>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876547</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429802&view=findpost&p=3876368'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mkudritsky &#064; <time class="tag-quote__quoted-time" datetime="2022-09-18T07:49:00+03:00">18.09.22, 04:49</time></span><div class='quote '>А ведь бытует мнение на многих популярных форумах, что настоящему IT-шнику вообще и программисту в частности высшее образование не нужно. От слова совсем&#33;</div></div>Ну у меня его и нет :D <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429802&view=findpost&p=3876368'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mkudritsky &#064; <time class="tag-quote__quoted-time" datetime="2022-09-18T04:49:00+00:00">18.09.22, 04:49</time></span><div class='quote '>Меня вот неприятно удивил тот факт, что в классическом C/C++ нет готовых функций генерации псевдослучайных чисел типа double или int в заданных диапазонах.<br>
Есть только функция rand(), генерирующая псевдослучайные целые числа в диапазоне от 0 до RAND_MAX - 1. А все остальное - дописывай сам&#33;</div></div>В C да, а вот в C++ давно уже есть <a class='tag-url' href='https://en.cppreference.com/w/cpp/header/random' target='_blank'>&lt;random&gt;</a>, где на любой вкус.]]></description>
        <author>Qraizer</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876543</guid>
        <pubDate>Tue, 20 Sep 2022 18:29:28 +0000</pubDate>
        <title>Зачем эти &amp;quot;странные&amp;quot; библиотечные мат. функции</title>
        <link>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876543</link>
        <description><![CDATA[FasterHarder: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429802&view=findpost&p=3876368'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>mkudritsky &#064; <time class="tag-quote__quoted-time" datetime="2022-09-18T04:49:00+00:00">18.09.22, 04:49</time></span><div class='quote '>классическом C/C++ нет готовых функций генерации псевдослучайных чисел типа double или int в заданных диапазонах.</div></div><br>
а что насчет default_random_engine + uniform_real_distribution<br>
<br>
не факт, что ты об этом говорил, просто вспомнилось, что в С++ больше средств для генерации чисел, чем в Си...]]></description>
        <author>FasterHarder</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876368</guid>
        <pubDate>Sun, 18 Sep 2022 04:49:00 +0000</pubDate>
        <title>Зачем эти &amp;quot;странные&amp;quot; библиотечные мат. функции</title>
        <link>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876368</link>
        <description><![CDATA[mkudritsky: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429802&view=findpost&p=3876139'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-09-14T13:43:35+00:00">14.09.22, 13:43</time></span><div class='quote '>ты просто титан ( нет, даже апгрейд-титан - один из самых сильных юнитов в HMM2, только black dragon может с ним спорить иногда )) ) в Си.</div></div><br>
Да уж&#33;<br>
Я, например, сходу не догадался. Хотя вроде как немного того - математик&#33;<br>
А ведь бытует мнение на многих популярных форумах, что настоящему IT-шнику вообще и программисту в частности высшее образование не нужно. От слова совсем&#33;<br>
<br>
Ну а теперь по делу.<br>
Меня вот неприятно удивил тот факт, что в классическом C/C++ нет готовых функций генерации псевдослучайных чисел типа double или int в заданных диапазонах.<br>
Есть только функция rand(), генерирующая псевдослучайные целые числа в диапазоне от 0 до RAND_MAX - 1. А все остальное - дописывай сам&#33;]]></description>
        <author>mkudritsky</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876139</guid>
        <pubDate>Wed, 14 Sep 2022 13:43:35 +0000</pubDate>
        <title>Зачем эти &amp;quot;странные&amp;quot; библиотечные мат. функции</title>
        <link>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876139</link>
        <description><![CDATA[FasterHarder: офигеть)<br>
<strong class='tag-b'>Qraizer</strong>, ты просто титан ( нет, даже апгрейд-титан - один из самых сильных юнитов в HMM2, только black dragon может с ним спорить иногда )) ) в Си.<br>
<br>
в общем все эти функции так или иначе иногда оказываются критически важными при кодировании на Си, понятно. Но мне это не грозит в обозримом будущем.<br>
<br>
ладно, спс, в очередной раз я осознал, что ни хрена не знаю по факту)]]></description>
        <author>FasterHarder</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876138</guid>
        <pubDate>Wed, 14 Sep 2022 13:40:33 +0000</pubDate>
        <title>Зачем эти &amp;quot;странные&amp;quot; библиотечные мат. функции</title>
        <link>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876138</link>
        <description><![CDATA[ЫукпШ: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429802&view=findpost&p=3876124'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-09-14T13:09:20+00:00">14.09.22, 13:09</time></span><div class='quote '>Вопрос больше из любопытства.</div></div><br>
Из любопытства вставляем FMA в строку поиска ya.ru<br>
Обнаруживаем ссылки:<br>
<a class='tag-url' href='https://composter.com.ua/content/umnozhat-i-pribavlyat-chto-takoe-fma?ysclid=l81nwho5sr735352296' target='_blank'>N1</a><br>
<a class='tag-url' href='https://ru.wikipedia.org/wiki/FMA' target='_blank'>N2</a>]]></description>
        <author>ЫукпШ</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876137</guid>
        <pubDate>Wed, 14 Sep 2022 13:36:32 +0000</pubDate>
        <title>Зачем эти &amp;quot;странные&amp;quot; библиотечные мат. функции</title>
        <link>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876137</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429802&view=findpost&p=3876124'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-09-14T13:09:20+00:00">14.09.22, 13:09</time></span><div class='quote '>Я понимаю, что они добавлены не для ради забавы, а все имеют очень строгое обоснование и громадную функциональность в реальных приложениях. Или все-таки нет?)</div></div>Почти да. Смотря, что называть функциональностью. Для значений, близких к 0, e<sup class='tag-sup'>x</sup> будет очень близка к 1, следовательно количество значащих бит после запятой будет крайне малым из-за единицы в целой части. То же для обратной операции логарифмирования. Команды (x86 FPU) F2XM1 и FYL2XP1 учитывают этот нюанс и возвращают точное (в разумных рамках ширины мантиссы, конечно) значение, чего нельзя было бы добиться без этого ±1, но у них и очень малый допустимый диапазон аргумента. (Впрочем, FYL2X тоже есть, и у неё нет особых ограничений на диапазон.) Функции expm1() и log1p() теоретически также должны учитывать этот нюанс, но вот учитывают ли, я утверждать не берусь. Однозначно, что их наличие упрощает перенос оптимизированных под точность асмовых приложений на C.<br>
cbrt() умеет отрицательные аргументы. Ну и формально более точна, т.к. ⅓ для pow() не может быть точно представлена в форматах плавающей точки.<br>
fma() является важной частью матричных (и не только) вычислений и часто бывает реализована отдельной инструкцией процессору, обычно DSP, но не только. Даже в вариантах ядер ARM и PowerPC они есть. Она не только ускоряет вычисления, но и гарантирует одно округление вместо двух.<br>
Как-то так...]]></description>
        <author>Qraizer</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876133</guid>
        <pubDate>Wed, 14 Sep 2022 13:23:35 +0000</pubDate>
        <title>Зачем эти &amp;quot;странные&amp;quot; библиотечные мат. функции</title>
        <link>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876133</link>
        <description><![CDATA[macomics: Здесь вы тоже сможете получить не более чем догадки. Для более точно информации вам стоит обратиться к разработчикам, которые добавляли эти функции в стандарт С++.]]></description>
        <author>macomics</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876124</guid>
        <pubDate>Wed, 14 Sep 2022 13:09:20 +0000</pubDate>
        <title>Зачем эти &amp;quot;странные&amp;quot; библиотечные мат. функции</title>
        <link>https://forum.sources.ru/index.php?showtopic=429802&amp;view=findpost&amp;p=3876124</link>
        <description><![CDATA[FasterHarder: Всем хай&#33;<br><br>Вопрос больше из любопытства.<br><br>1. функция expm1. все, что она делает в отличие от exp - вычитает еще 1 из результата :) Вот на хрена она нужна&#33; То есть вместо expm1( 3 ) можно записать exp( 3 ) - 1. В чем прикол этой функции)<br><br>2. функция fma. Считает a * b + c. Ахахаха. Ок, давайте введем еще, например, a * b - c * c или ( a + b ) * c - a и таких вариантом миллиард можно придумать. Кстати, в вики про проблему FMA кое-что написано, хм...<br><br>3. cbrt, ну, наверное, тоже странная. Можно ведь добавить и ариф. корень 4-ой, 9-ой или 41-й степени. А почему бы и нет.<br><br>4. log1p - суть аналог expm1 только для log<br><br>Я понимаю, что они добавлены не для ради забавы, а все имеют очень строгое обоснование и громадную функциональность в реальных приложениях. Или все-таки нет?)<br><br>спс. за внимание]]></description>
        <author>FasterHarder</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	