Talk:Loop-invariant code motion: Difference between revisions

Content deleted Content added
Somethign wrong here in the example: clarify my comment a bit
Assessment: banner shell, Computing (Rater)
 
(4 intermediate revisions by 4 users not shown)
Line 1:
{{WikiProject Computingbanner shell|class=Start|importance1=}}
{{WikiProject Computing}}
}}
The page originally had the following:
 
Line 46 ⟶ 48:
 
::OK great. I am gonna check it over with my subbing eye. I hope you don't mind, I am sure it is fine, Wikipedia is great and I love it a lot and everyone who puts into it, but if something is wrong you have to say so.
 
== a[i] is a multiplication ==
 
:"''[...] strength reduction could remove the two multiplications inside the loop (6*i and a[i]) [...]''"
Via [[C syntax]] and [[pointer arithmetic]], '''a[i]''' can also be interpreted as '''*(a + i)'''. Can someone tell where the hidden multiplication is taking place? --[[User:Abdull|Abdull]] ([[User talk:Abdull|talk]]) 12:56, 29 October 2010 (UTC)
:When doing pointer arithmetic, the index needs to be scaled by the pointer target's size: if <code>a</code> has type <code>int*</code>, then <code>*(a + i)</code> is equal to <code>*(int*) (((char*) a) + (i * sizeof(int)))</code>. [[User:Alksentrs|Alksentrs]] ([[User talk:Alksentrs|talk]]) 16:44, 29 October 2010 (UTC)
 
==Code motion==
 
Should [[code motion]] link here? [[Special:Contributions/70.247.173.255|70.247.173.255]] ([[User talk:70.247.173.255|talk]]) 00:46, 20 May 2012 (UTC)