On Wed, May 18, 2005 at 10:24:15AM -0700, Ben Pfaff wrote:
However, I don't know whether that's really the best approach.
First, do we actually need the additional pointer in all cases or
just in casefiles? Just in casefiles, I think, and in that case
we can add it in a wrapper in the casefile instead of in the
ccase itself.
Not sure that I understand you correctly.
We'd still need to keep one pointer/casenum per case. This could either be
encapsulated in the ccase itself, or it could be maintained in a map in the
casefile. In any event, there'd need to be a concept of a
casefile-which-duplicates-another-casefile, and a means to create one.
Second, how would we deal with on-disk casefiles?
I don't think a pointer makes much sense in that case; perhaps a
case number instead?
If there was also a function to get a case from a casefile by number,
perhaps you're right. I don't know enough about the casefile internals.
Third, a basic RANK can be implemented something like this:
compute orig_order=$casenum.
sort cases by var_to_rank.
compute rank=$casenum.
sort cases by orig_order.
modify vars/drop=orig_order.
But this involves an extra sort, which is an expensive operation.
J'
--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://pgp.mit.edu or any PGP keyserver for public key.
pgpX9U4KDFqkD.pgp
Description: PGP signature
_______________________________________________ pspp-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/pspp-dev
