Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
O
OBITools3
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 33
    • Issues 33
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • OBITools
  • OBITools3
  • Issues
  • #8

Closed
Open
Opened May 12, 2015 by Eric Coissac@coissacOwner

OBITypes

I think that it would be nice to define a limited subset of atomic/basic types that can be manipulated by the obitools. These type could be specified via several typedef in a C header file named obitypes.h

I propose the following but not exhaustive atomic types

types C types OBIType Definition
integer int32_t OBIInt_t a signed integer value
float double OBIFloat_t a floating value
boolean ? OBIBool_t a boolean true/false value
char char OBIChar_t a character

Two kind of container types

  • List of atomic types
  • Dictionary of atomic types indexed by string

Type specific to obitools

  • taxids
  • strings

| index | size_t | OBIIdx_t | an index in a data structure |

typdef enum {
	FALSE = 0;
	TRUE  = 1;
	OBIBool_NA= 2;
} OBIBool_t, *OBIBool_p;

We need for each of them to reserve an NA value, that can be define as a macro

#define OBIInt_NA (INT32_MIN) 
#define OBIFloat_NA (NAN)
#define OBIIdx_NA (SIZE_MAX) 
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Specifications
Milestone
Specifications
Assign milestone
Time tracking
None
Due date
None
Reference: obitools/obitools3#8