William "Chops" Westfield wrote: >> If I had meant intrinsics, I'd havewritten about intrinsics. > >> I said that if a library is a /standard/ library (and I have >> mentioned this word "standard" a few times; you didn't seem to pick >> up on this), > > What exactly do you see as the difference between an "intrinsic" > function and a Standard library function? I mean sin() is a standard > library function in C, but an intrinsic function in fortran/pascal/ > etc, right? My point in this whole thing is exactly that there isn't a big difference, and I'm trying to get to the bottom of what Sergio thinks is the difference. So this would be a question for Sergio :) > Are you saying that a C compiler could understand that "sin()" is > standard and generate straight math processor instructions (intel FP > has had a FSIN instruction since forever) rather than a library call? > (assuming that it "knows" that the instructions and the library are > supposed to generate the same results...) Sergio's example a while ago was that since the compiler knows what remove(), insert() and replace() do (because they are part of the language rather than a library), it is possible for the compiler to replace a sequence of remove() and insert() with an appropriate replace(), making the code more efficient. My counter-argument was that if remove(), insert() and replace() are /standard/ functions, the compiler doesn't have to actually implement them to know that it can replace a remove() call followed by an insert() call with a replace() call -- they may just as well be in a (standard!) library. (All obviously used in a way that this is actually correct and makes sens. We're not talking about compiler mistakes or library bugs or unusable definitions... :) Gerhard -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist