Opened 14 years ago

Last modified 13 years ago

#2692 assigned Feature Requests

No concepts supporting the idea of dense

Reported by: dougrm@… Owned by: Gunter
Milestone: To Be Determined Component: uBLAS
Version: Boost 1.37.0 Severity: Optimization
Keywords: Cc:

Description

data() returns a reference to a Storage. However, nowhere in the concepts is a statement saying that &m.data()[0] must to be the address of the first element of the linearly stored data in the Storage. The adjective "dense" is used all over, but nowhere is this term given any operational guarantees. Without such guarantees, all the interfaces in, say, the numerics::binding libraries are being built on sand. Related to this is that nothing requires unbounded_array<T>::value_type to be T. The problem boils down to the ublas concepts documentation borrowing from the stl vector concepts which are general enough to support vector<bool>. The basic (and inadequate) change is the sprinkling around of the word dense and the phrase "strict linear order". Instead you need to explicitly says things like value_type is T and &v[i+j] == &v[i]+j (for reasonable i+j).

Change History (4)

comment:2 by Steven Watanabe, 14 years ago

Component: DocumentationuBLAS
Owner: changed from Matias Capeletto to Gunter

comment:3 by Gunter, 14 years ago

Status: newassigned

I agree that the term "dense" is not defined. However, I 'd like to go throug all classes before I add a definition to the docs.

comment:4 by Gunter, 13 years ago

Milestone: Boost 1.38.0To Be Determined
Severity: ProblemOptimization
Type: BugsFeature Requests

Moved to list of feature requests because the fix requires a whole new concept. Currently all classes which use "dense" storage follow the wide known dense concept without explicitly stating it.

Note: See TracTickets for help on using tickets.