Talk:Gamevar operators: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
discussion of mod/remainder.
m pointer to a div/mod note.
 
Line 7: Line 7:




The semantics of the remainder operation for negative arguments are implementation-defined for C90, and for C99, the sign of the result follows the sign of the dividend (b*(a/b) + a%b == a). Since GCC follows C90 with GNU extensions by default and MSVC doesn't really support C99, this is significant. Here are pointers to the respective compiler's notices about how the operation is implemented, which as far as I can see always amounts to the C99 semantics:<br>
The semantics of the remainder operation for negative arguments are implementation-defined for C90, and for C99, the sign of the result follows the sign of the dividend (b*(a/b) + a%b == a). Since GCC follows C90 with GNU extensions by default and MSVC doesn't really support C99, this is significant. Here are pointers to the respective compiler's notices about how the operation is implemented, which as far as I can see always amounts to the C99 semantics:<br/>
MSVC: [http://msdn.microsoft.com/en-us/library/eayc4fzk.aspx]<br>
MSVC: [http://msdn.microsoft.com/en-us/library/eayc4fzk.aspx]<br/>
GCC: [http://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html], the last point? It says that it follows C99, but I don't see what rounding behavior has to do with it...<br>
GCC: [http://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html], the last point? It says that it follows C99, but I don't see what rounding behavior has to do with it...<br/>
--[[User:Helixhorned|Helixhorned]] ([[User talk:Helixhorned|talk]]) 09:38, 22 April 2012 (PDT)
--[[User:Helixhorned|Helixhorned]] ([[User talk:Helixhorned|talk]]) 09:38, 22 April 2012 (PDT)<br/>
Well, well, it seems like I'm a failure at basic arithmetic. See [http://www.cs.uu.nl/~daan/download/papers/divmodnote.pdf] (via [[Wikipedia:Modulo operation|Wikipedia: Modulo operation]])

Latest revision as of 10:19, 22 April 2012

User:Rasmusthorup has given this page a lot of flak, but I don't understand how splitting it back up into tiny individual articles like a swarm of bees can be any better than this concise, clear reference. For example, take a look at the last revision of setvar before I redirected it here: [1]. It says nothing that could not be inferred from the command's name itself, "setvar", and the word "assignment", both of which are in my table. -Hendricks266 17:02, 8 May 2011 (PDT)


I am trying to make the site more simple to look through for new guys. I find your list confusing, and that is being said by a guy who knows most of the stuff on the wiki already. I understand why new guys get confused. I want things to be less confusing and easier go trough. If you want to, i can ask you before i edit the pages that you have been editing before. I find the operators page a bad idea.

I find the page to be pretty self-explanatory, personally. 75.121.20.21 09:49, 9 May 2011 (PDT)


The semantics of the remainder operation for negative arguments are implementation-defined for C90, and for C99, the sign of the result follows the sign of the dividend (b*(a/b) + a%b == a). Since GCC follows C90 with GNU extensions by default and MSVC doesn't really support C99, this is significant. Here are pointers to the respective compiler's notices about how the operation is implemented, which as far as I can see always amounts to the C99 semantics:
MSVC: [2]
GCC: [3], the last point? It says that it follows C99, but I don't see what rounding behavior has to do with it...
--Helixhorned (talk) 09:38, 22 April 2012 (PDT)
Well, well, it seems like I'm a failure at basic arithmetic. See [4] (via Wikipedia: Modulo operation)