Boost logo

Ublas :

Subject: Re: [ublas] [bindings] Workspaces
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2008-12-10 16:22:57

Thomas Klimpel wrote:
> Yes and No. I have a bit the impression that you think I should have
> rewritten Jesse Manning's gelsd bindings to more closely match the style
> of existing bindings like heevd before including it into the subversion
> repository. My reasons for not doing this is that I want to go on with
> the 64-bit porting, and I considered it a good idea to add Jesse
> Manning's gels bindings before I change the integer types.

No, certainly not -- I am just trying to take a fresh look at the workspace
structure, so I can include it in a nice way in the generated code.

> This is fine, because n_workspace_args<value_type>::value and
> detail::workspace1, detail::workspace2 refers to the distinction between
> the cases with a single real workspace and a workspace for both real and
> complex. The integer workspace is independent of this and the same for
> the real and complex case.

I had the impression the workspaces (user interface) where something along
the line of

 * minimal
 * optimal
 * user-defined

and looking at workspace.hpp, a user is allowed to pass up to two arguments
to the workspace template functions. Doesn't this mean that a user is not
able to pass an all workspaces in cases of three different value types /

>> Perhaps it's safer to select the number of workspaces by the number of
>> workspaces defined in the Fortran code :-).
> Not really.

Please elaborate, (fortran) workspaces are marked explicitly in the code.
Are you saying the number of C++ workspaces does not equal the number of
fortran workspaces?

> I guess you are referring to geev. The mixed case is when the matrix A
> is real, but the user requests complex eigenvectors (for convenience
> reasons...).

Ok. Thanks for the quick response,