public inbox for gsl-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Heikki Orsila <shd@modeemi.fi>
To: Brian Gough <bjg@gnu.org>
Cc: gsl-discuss@sourceware.org, Hongzheng Wang <wanghz@gmail.com>,
	help-gsl@gnu.org
Subject: Re: [Help-gsl] GSL and C99 standard
Date: Tue, 15 Apr 2008 11:00:00 -0000	[thread overview]
Message-ID: <20080415105854.GF24451@jolt.modeemi.cs.tut.fi> (raw)
In-Reply-To: <87zlrvh0a1.wl%bjg@network-theory.co.uk>

On Tue, Apr 15, 2008 at 11:37:10AM +0100, Brian Gough wrote:
> At Fri, 11 Apr 2008 15:40:25 +0300,
> Heikki Orsila wrote:
> > Are there many users that can not support any C99 features?
> 
> One area I know of: it is a problem for embedded systems, when
> compilers aren't updated by the manufacturer.  That's something I want
> to support.

How many embedded systems really lack this? Existing users may use old 
versions of the library if C99 is allowed. Afaik, most embedded systems 
support GNU compilers thesedays. And, we're not argeting 8/16 bit 
systems with GSL ;)

> > I think the the relevant question is which C99 features, not the whole 
> > feature set. For example, I would like to use named initializers for 
> > structures as they make code more maintainable and easier to read:
> > gcc has supported this feature for ages already..
> 
> For code internal to the library I think we would stick with C89
> compatible syntax.  
> 
> It makes sense to use C99 functions internally where it's possible to
> do that without breaking C89 compatibility, by providing portable
> versions as a fallback.  We've done some of that with functions like
> isfinite(), but there are other cases that could be changed.

Writing both C89 and C99 implementations doubles the number of bugs. So 
it's definitely not wise to use C99 if a C89 implementation exists.

> It is mainly a question of how C99 could benefit users.  The main
> areas would be
> 
>  - native complex numbers
>  - restricted pointers for optimisation
>  - new IEEE floating point functions/exception handling

The benefit of C99 is common conventions that are portable between 
projects. The new floating point stuff is probably useful for GSL, but I 
see C99 being much more than that. It makes general coding easier.

-- 
Heikki Orsila
heikki.orsila@iki.fi
http://www.iki.fi/shd

  reply	other threads:[~2008-04-15 11:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <b954b2060804090947j2574cf96y4ce9262b2fd55e77@mail.gmail.com>
2008-04-10 16:42 ` Brian Gough
2008-04-10 19:19   ` Gerard Jungman
2008-04-11  8:00   ` Hongzheng Wang
2008-04-11 12:41   ` Heikki Orsila
2008-04-15 10:37     ` Brian Gough
2008-04-15 11:00       ` Heikki Orsila [this message]
2008-04-15 15:12         ` Hongzheng Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080415105854.GF24451@jolt.modeemi.cs.tut.fi \
    --to=shd@modeemi.fi \
    --cc=bjg@gnu.org \
    --cc=gsl-discuss@sourceware.org \
    --cc=help-gsl@gnu.org \
    --cc=wanghz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).