<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[valarray Sign Problem]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich hab' die letzten Stunden verzweifelt damit verbracht, in einer riesigen numerischen Berechnung nach der Ursache eines Bugs zu suchen und auf ein Minimum herunter zu brechen. Folgender Test-Code (Intel C++ 16.0):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;valarray&gt;

int main() {
std::valarray&lt;double&gt; a{ 1., -0.3, 2.3, -0.02 };
	std::valarray&lt;double&gt; b{ -0.3, 0.038, -1.0036, -0.739 };
	double c = 2.34;
	a -= c * b;
	for(auto elem : a) std::cout &lt;&lt; elem &lt;&lt; ' ';
}
</code></pre>
<p>Im Debug-Modus liefert mir das das richtige Ergebnis. Im Release-Modus jedoch sind die Vorzeichen geflipt. Das Phänomen tritt nur mit dem Intel-Compiler auf, Visual Studio 2015 liefert im Debug- und Release-Modus das gleiche Ergebnis? Ist das ein Bug bzw. kann das jemand bestätigen?</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338766/valarray-sign-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 04:37:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338766.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 Jul 2016 22:35:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to valarray Sign Problem on Fri, 08 Jul 2016 22:35:13 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich hab' die letzten Stunden verzweifelt damit verbracht, in einer riesigen numerischen Berechnung nach der Ursache eines Bugs zu suchen und auf ein Minimum herunter zu brechen. Folgender Test-Code (Intel C++ 16.0):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;valarray&gt;

int main() {
std::valarray&lt;double&gt; a{ 1., -0.3, 2.3, -0.02 };
	std::valarray&lt;double&gt; b{ -0.3, 0.038, -1.0036, -0.739 };
	double c = 2.34;
	a -= c * b;
	for(auto elem : a) std::cout &lt;&lt; elem &lt;&lt; ' ';
}
</code></pre>
<p>Im Debug-Modus liefert mir das das richtige Ergebnis. Im Release-Modus jedoch sind die Vorzeichen geflipt. Das Phänomen tritt nur mit dem Intel-Compiler auf, Visual Studio 2015 liefert im Debug- und Release-Modus das gleiche Ergebnis? Ist das ein Bug bzw. kann das jemand bestätigen?</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2501675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2501675</guid><dc:creator><![CDATA[Jodocus]]></dc:creator><pubDate>Fri, 08 Jul 2016 22:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to valarray Sign Problem on Sat, 09 Jul 2016 11:07:03 GMT]]></title><description><![CDATA[<p>normalerweise wäre bei valarrays wohl die erste frage, ob du nicht ein und denselben slice in ein und demselben ausdruck verwendet; das kann unter gewissen umständen (quellslice ist bzw. überlappt zielslice) undefiniert sein. dein beispiel allerdings sollte ohne probleme funktionieren.</p>
<p>als alternative kommt wohl blitz in frage. (siehe <a href="http://blitz.sourceforge.net/" rel="nofollow">http://blitz.sourceforge.net/</a> )<br />
sollte generell besser sein als valarrays. um es mit n. josuttis zu sagen:</p>
<blockquote>
<p>The valarray classes were not designed very well. In fact, nobody tried to determine whether the final specification worked. This happened because nobody felt “responsible” for these classes. The people who introduced valarrays to the C++ standard library left the committee long before the first C++ standard was finished.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2501696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2501696</guid><dc:creator><![CDATA[dove]]></dc:creator><pubDate>Sat, 09 Jul 2016 11:07:03 GMT</pubDate></item></channel></rss>