Boost logo

Boost :

From: Paul A Bristow (pbristow_at_[hidden])
Date: 2005-09-30 11:02:04

| -----Original Message-----
| From: boost-bounces_at_[hidden]
| [mailto:boost-bounces_at_[hidden]] On Behalf Of Beman Dawes
| Sent: 24 September 2005 18:55
| To: Boost mailing list; Boost-users mailing list;
| Boost-announce mailing list
| Subject: [boost] [TR1 Review] TR1 Formal Review Beginning
| The formal review of the Boost TR1 Library by John Maddock

| Functionality in TR1 but not yet available:
| * Mathematical Special Functions.
| * C99 C language additions.

:-(( - I got really (over-)excited when I first read about this!

These are really important things for many people, even if they don't
realise it yet!

| My formal review of this library.
| * What is your evaluation of the design?

I do not _fully_ understand the implications of the design but I can't see
any problems, apart from the complexity of the many namespaces which will
confuse 'novices' it if doesn't 'wrap' as smoothly as advertised.

| * What is your evaluation of the implementation?

Haven't tried it yet.

| * What is your evaluation of the documentation?

Lacking a _simple_ example? But generally OK.

| * What is your evaluation of the potential usefulness of
| the library?

Should ease the transition.

| * Did you try to use the library?

No yet.

BUT I _HAVE_ been working on some of the missing math functions by a 'wrap'
of Stephen Moshier's Cephes C library.

I have posted a 'work in progress' for those interested in math functions,
specially for comment, at

I have used the Boost Test suite to provide some examples of testing some of
the C99, TR1
and proposed 'TR2' math functions. The actual function code is the Cephes C
float and double library. (Since I only have MSVC 8.0 beta 2, where long
double == double, I have ducked providing long double, except to provide the
less accurate C double result. This is of course, still Standard compliant
because, like sin, cos, log etc, no accuracy is specified). Specifying
accuracy remains a difficult matter.

Some, but I fear not all, of the C99 and TR1 functions can be provided by
the Cephes library. I would welcome views on how to deal with the ones that
are missing (until such time as they be implemented). One could just return
0. and still be Standard Compliant, but would throwing an exception be more
helpful? If some _exactly_ how and what? Or should it fail at link time?

I am unclear how best to mesh this with John's wrapper.

| * How much effort did you put into your evaluation?

An hour reading the documentation.

| * Are you knowledgeable about the problem domain?

| * Do you think the library should be accepted as a Boost library?



Paul A Bristow
Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB
+44 1539 561830 +44 7714 330204
mailto: pbristow_at_[hidden]

Boost list run by bdawes at, gregod at, cpdaniel at, john at