Deutsch English Français Italiano |
<vm5r00$2e9ha$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.nobody.at!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: David Brown <david.brown@hesbynett.no> Newsgroups: comp.arch Subject: Re: Calling conventions (particularly 32-bit ARM) Date: Tue, 14 Jan 2025 15:05:52 +0100 Organization: A noiseless patient Spider Lines: 39 Message-ID: <vm5r00$2e9ha$1@dont-email.me> References: <vlgngv$1ks4a$1@dont-email.me> <2025Jan8.230846@mips.complang.tuwien.ac.at> <jwvr05cq4tx.fsf-monnier+comp.arch@gnu.org> <2025Jan9.082357@mips.complang.tuwien.ac.at> <vlqm0d$27bfb$1@paganini.bofh.team> <2025Jan10.112523@mips.complang.tuwien.ac.at> <6be6d207cf7386fb66d47f2fe619df71@www.novabbs.org> <vm3kf2$1t0s1$1@dont-email.me> <6248473300a9fc0fd964c635510f510d@www.novabbs.org> <TXfhP.642290$Uup4.301463@fx10.iad> <a0867899b693a1bc2579ec7cc25d676c@www.novabbs.org> <6DghP.566840$EYNf.141529@fx11.iad> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 14 Jan 2025 15:05:52 +0100 (CET) Injection-Info: dont-email.me; posting-host="9951024a6f598bbfa9f09d3a2343eba8"; logging-data="2565674"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+kB8vGNZHTAcNXUszuB7tGbnPlPniFdOc=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Cancel-Lock: sha1:lexglEoEcwhd5o9g7/To7tzrj4I= Content-Language: en-GB In-Reply-To: <6DghP.566840$EYNf.141529@fx11.iad> Bytes: 3144 On 13/01/2025 23:40, Scott Lurndal wrote: > mitchalsup@aol.com (MitchAlsup1) writes: >> On Mon, 13 Jan 2025 21:53:55 +0000, Scott Lurndal wrote: >> >>> mitchalsup@aol.com (MitchAlsup1) writes: >>>> On Mon, 13 Jan 2025 18:02:10 +0000, Thomas Koenig wrote: >>>> >>>>> MitchAlsup1 <mitchalsup@aol.com> schrieb: >>>>> >>>>>> errno is an atrocity all by itself; single handedly preventing >>>>>> direct use of SIN(), COS(), TAN(), ATAN(), exp(), ln(), pow() >>>>>> as instructions. >>>>> >>>>> Fortunately, the C standard does not require errno to be set >>>>> for these functions. Apple, for example, does not do so. >>>> >>>> Nor will I. >>> >>> POSIX does, however, require errno to be set conditionally >>> based on an application global variable 'math_errhandling'. >> >> The functions mentioned have the property of taking x as >> any IEEE 754 number (including NaNs, infinities, denorms) >> and produce a IEEE 754 number {NaNs, infinities, norms, >> denorms}. >> >> But if POSIX wants to spend as many cycles setting errno >> as performing the calculation, that is for POSIX to decide. > > POSIX leaves it up to the programmer to decide. If the > programmer desires EDOM or ERANGE, they set the > appropriate bit in math_errhandling before calling the > sin et alia functions. > You know POSIX better than I do, but AFAIK "math_errhandling" is a fixed value set by the implementation, usually as a macro. Certainly with a quick check with gcc on Linux, I could not set the bits in math_errhandling.