<?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[2dim Array zu 1dim Array]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein float[4][4] und moechte das konvertieren in ein float[16]. Was ist da die schnellste Variante?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286967/2dim-array-zu-1dim-array</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 16:29:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286967.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 May 2011 14:09:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 14:09:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein float[4][4] und moechte das konvertieren in ein float[16]. Was ist da die schnellste Variante?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065866</guid><dc:creator><![CDATA[MatrixHack]]></dc:creator><pubDate>Thu, 19 May 2011 14:09:52 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 14:12:54 GMT]]></title><description><![CDATA[<p>MatrixHack schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe ein float[4][4] und moechte das konvertieren in ein float[16]. Was ist da die schnellste Variante?</p>
</blockquote>
<pre><code class="language-cpp">float packed[4][4];
float * linearized = &amp;packed[0][0];
</code></pre>
<p>Dann hast Du allerdings kein <code>float[16]</code> , sondern ein <code>float*</code> . Sollte es ein <code>float[16]</code> sein müssen, dann musst Du kopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065870</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 19 May 2011 14:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 14:18:26 GMT]]></title><description><![CDATA[<p>Ist denn garantiert, dass das float[16] linear im Speicher liegt?<br />
Quasi, dass es diese Struktur hat:<br />
[0][0], [0][1], [0][2], [0][3], [1][0], [1][1], ...<br />
?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065874</guid><dc:creator><![CDATA[MatrixHack]]></dc:creator><pubDate>Thu, 19 May 2011 14:18:26 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 14:19:45 GMT]]></title><description><![CDATA[<p>oder mit einer doppelten for-Schleife:</p>
<pre><code class="language-cpp">int counter = 0;
for (int i = 0; i &lt; 4; i++)
{
    for (int j = 0; j &lt; 4; j++)
    {
        newFloat[counter] = oldFloat[i][j];
        counter++;
    }
}
</code></pre>
<p>Macht im Grunde genommen keinen Unterschied im Bezug auf die Geschwindigkeit. Hast nur mehr Zeilen Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065877</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Thu, 19 May 2011 14:19:45 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 14:45:56 GMT]]></title><description><![CDATA[<p>MatrixHack schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe ein float[4][4] und moechte das konvertieren in ein float[16]. Was ist da die schnellste Variante?</p>
</blockquote>
<pre><code class="language-cpp">float x[4][4];
float (&amp;y)[16] = reinterpret_cast&lt;float(&amp;)[16]&gt;( x );
</code></pre>
<p>Und ja, das Ganze ist wohldefiniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065897</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 19 May 2011 14:45:56 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 14:56:48 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>MatrixHack schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe ein float[4][4] und moechte das konvertieren in ein float[16]. Was ist da die schnellste Variante?</p>
</blockquote>
<pre><code class="language-cpp">float x[4][4];
float (&amp;y)[16] = reinterpret_cast&lt;float(&amp;)[16]&gt;( x );
</code></pre>
<p>Und ja, das Ganze ist wohldefiniert.</p>
</blockquote>
<p>Wieso das &amp; Zeichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065901</guid><dc:creator><![CDATA[MatrixHack]]></dc:creator><pubDate>Thu, 19 May 2011 14:56:48 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 15:02:00 GMT]]></title><description><![CDATA[<p>also referenz auf das 4x4 array<br />
---&gt; alles was du im [16]-array änderst, hat auch wirkung auf das 4x4 array</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065903</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Thu, 19 May 2011 15:02:00 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 15:02:23 GMT]]></title><description><![CDATA[<p>MatrixHack schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>MatrixHack schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe ein float[4][4] und moechte das konvertieren in ein float[16]. Was ist da die schnellste Variante?</p>
</blockquote>
<pre><code class="language-cpp">float x[4][4];
float (&amp;y)[16] = reinterpret_cast&lt;float(&amp;)[16]&gt;( x );
</code></pre>
<p>Und ja, das Ganze ist wohldefiniert.</p>
</blockquote>
<p>Wieso das &amp; Zeichen?</p>
</blockquote>
<p>Die schnellste Variante ist nunmal, gar nichts zu tun, und einfach nur eine Referenz auf das ursprüngliche ARray zu verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065904</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 19 May 2011 15:02:23 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 15:19:27 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>MatrixHack schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>MatrixHack schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe ein float[4][4] und moechte das konvertieren in ein float[16]. Was ist da die schnellste Variante?</p>
</blockquote>
<pre><code class="language-cpp">float x[4][4];
float (&amp;y)[16] = reinterpret_cast&lt;float(&amp;)[16]&gt;( x );
</code></pre>
<p>Und ja, das Ganze ist wohldefiniert.</p>
</blockquote>
<p>Wieso das &amp; Zeichen?</p>
</blockquote>
<p>Die schnellste Variante ist nunmal, gar nichts zu tun, und einfach nur eine Referenz auf das ursprüngliche ARray zu verwenden.</p>
</blockquote>
<p>Das selbe haette ich doch auch hiermit:<br />
float * linearized = &amp;packed[0][0];</p>
<p>Ein float* waere fuer mich genauso ok wie float[16].</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065915</guid><dc:creator><![CDATA[MatrixHack]]></dc:creator><pubDate>Thu, 19 May 2011 15:19:27 GMT</pubDate></item><item><title><![CDATA[Reply to 2dim Array zu 1dim Array on Thu, 19 May 2011 15:24:44 GMT]]></title><description><![CDATA[<p>das größte problem bei all dem (sowohl referenz als auch pointer) ists sowieso, dass der flaschenhals die lebensdauer des 4x4 array ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065919</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Thu, 19 May 2011 15:24:44 GMT</pubDate></item></channel></rss>