|
Boost : |
From: Hurd, Matthew (hurdm_at_[hidden])
Date: 2004-06-04 02:20:14
> Behalf Of Thorsten Ottosen
>
> > "Hurd, Matthew" <hurdm_at_[hidden]> wrote in message
<snip>
> See Type-Based Alias Analysis:
>
> http://www.ddj.com/documents/s=880/ddj0010d/0010d.htm?temp=fXniOPb1aS
Thanks for the link.
>
> I my suggestion for Design by Contract I mentioned that aliasing (or
lack of
> it)
> could be expressed by a function precondition:
>
> void foo( T* l, T* r, size_t sz )
> precondition() {
> std::less<T*>( l + sz, r ) || std::less<T*>( r + sz, l );
> };
That's ok for simple contiguous spaces but it becomes intractable with
complex object collections, but then perhaps the efficiency probably
ain't so important as you've lost the locality anyway.
> | You still need to wrap as you can't hope, nor should you try, to
offer
> | all algorithms from all languages.
>
> probably not. But simply wrapping stuff is not always an option. For
eaxample,
> in the
> statistics lib I'm working on, I need to invert matrices. If I write
wrappers,
> I will
> probably only be ably to support float,double,complex leaving out
higher
> precsion
> datatypes.
Yup. Generic interface first. Implementation with ublas where
possible. Other generic implementations. Specialize for performance I
guess.
I haven't looked at uBLAs for a while but there was an interface to
ATLAS for performance and also a partial wrapper for LAPACK.
Not sure if the use of ATLAS or otherwise is or can be made to be
automatic at compile time, but this would give us most of what we need.
Generic implementations with pluggable special high performance
specializations wherever possible.
Regards,
Matt Hurd.
_______________
Matt Hurd
+61.2.8226.5029
hurdm_at_[hidden]
Susquehanna
_______________
IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk