Skip to content

Add compile flag for supporting 64 bit IDs #1528

@jeromekelleher

Description

@jeromekelleher

The discussion in #343 makes it clear that it is likely that we will need to support very large tables at some point in the future, and so it would be wise to plan ahead for this. My suggestion for this is the following:

  • Add some defines that allow us to build the tskit library with 64 bit IDs (default is definitely 32 bit). Do not change any of the storage types in the file format, this is purely just about the size of the tsk_id_t and tsk_size_t types. Do not document this, and state clearly in the source code that this is not a supported configuration.
  • Add a step to the CircleCI config that builds the C library like this and runs the tests.

This way we'll be able to keep the library in 64bit readiness and should be able to make the jump fairly easily if/when we need to. Running the tests in 64bit mode in CI should prevent us from going down any 32 bit only rabbit holes.

Any objections?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions