Previous mail
Next mail
Unformatted/full headers
Overview 10 days
Subject
Date
Thread
Author
From: Jan-Jaap van der Heijden
Subject: Mathematical functions
Date: 9 Aug 1997, 12:23:01
On Sat, 9 Aug 1997, Peter Gerwinski wrote:
> Hello!
>
> The GPC run time library contains a function `_p_sin' which does nothing
> else than to call the `sin' function from the C library.
>
[..]
> This means a gain of speed of about 9%.
>
> If there is no special reason for having an extra `_p_sin' I would vote for
> dropping it in favour of calling `sin' directly, and similar for other
> mathematical functions.
>
> Comments?
>
`sin()' is not doing any checking, so you could replace it
right away. But there are other functions that do some checking before
calling the underlying OS function (like `ln')
GCC knows an optimzation switch -ffast-math, described as:
This option allows GCC to violate some ANSI or IEEE
rules/specifications in the interest of optimizing
code for speed. For example, it allows the compil-
er to assume arguments to the sqrt function are
non-negative numbers.
This option should never be turned on by any `-O'
option since it can result in incorrect output for
programs which depend on an exact implementation of
IEEE or ANSI rules/specifications for math func-
tions.
This option is not enabled by any of the -Ox optimization switches,
probably because it may violate some spec.
How about adding either a simular switch to GPC, or add extra GPC
functionality to -ffast-math to emit a direct _sin() and friends instead
of _p_sin() when this switch is on? That way, both the speed freaks and
the checking lovers are satisfied.
JanJaap
---
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going
to land, and it could be dangerous sitting under them as they fly
overhead. -- RFC1925.
Previous mail
Next mail
Unformatted/full headers
Overview 10 days
Subject
Date
Thread
Author
| Author | Subject | Date |
|---|---|---|
| Peter Gerwinski | Mathematical functions | 9 Aug 1997, 00:17:12 |
Note: This page contains information that does not originate from the owner of this web site, but from the authors of the mails archived. The owner of this web site is not responsible for the content of such information. Any use of that infomation requires the consent of the respective author.
Where WWW addresses (URLs) in the mails archived are marked as hyperlinks, this is only for the comfort of the reader. The content of the web pages linked to like this does not necessarily reflect the opinion of the owner of this web site or of the authors of the mails archived. The owner of this web site is not responsible for the content of such web pages. Those pages are explicitly not to be considered as part of the content of this page, but merely as references.
This page was created by Crystal 0.999 (Linux 2.4.27/i686).