Wiki_System*
technolowiki.org
[edit SideBar]

Data Types
Classification of Types (Kinds)
 Data (Value) Types
 Structure (Composite) Types
 Class (Program) Types
 Interface, Behavior (in C++: an abstract class) > NOT instantiable
 Pure Abstract (in C#: required for multiple inheritance)
 Implementation (in C++: a class with concrete methods, instantiation leads to an object)
 Extensible, Inheritable (in C#: not sealed)
 Operators (functions transforming an input value into a result value)
 Alternative
 Associative (eg. "+(+)" or "*(*)" for real numbers)
 Commutative (eg. "+" for real numbers) / Anticommutative (eg. "" for real numbers or "×" for vectors)
 Distributive (eg. "+(*)" or "*(+)" for real numbers)
 Magmas (Groupoids)
 Unital (eg. having a "1" element)
 Invertible (eg. having a division operator)
Classification of Entities
 primitive types
 scalars, real numbers > FScalars
 whole numbers > exact numbers
 whole positive (unsigned) numbers > FNaturals
 booleans (1 bit) > FNegatables
 trits (nullable bit)
 nibble (4 bits)
 byte/octet (8 bits)
 word/short (16 bits)
 double word/long (32 bits)
 quad word/long long (64 bits)
 octo word (128 bits)
 whole signed numbers > FNegatables
 fractional numbers – as these are mostly signed: > FNegatables
 exact numbers > fractional numbers
 fixedpoint numbers
 rational numbers, quotients
 floatingpoint numbers (approximating)
 composites (akin to fixedsize arrays)
 twodimensionals
 Complex, Tuples (a,b)
 coordinates
 Point (x,y) shaped, but NOT intersectable
 Size (w,h) summable
 intervals, ranges (ordered, b>a) > IIntersectable
 threedimensionals
 fourdimensionals
 eightdimensionals
 sixteendimensionals
TODO: Rectangle
Classification of/Reasons for Nulls
 Null (no value)
 Empty (uninitialized, JavaScript: undefined)
 Optional (parameter, JavaScript: unspecified)
 addresses
 pointers (represented by whole positive numbers, with 0 meaning "invalid", > sometimes incrementable )
 offsets (represented by whole numbers) > incrementable, summable
 Handles (represented by whole positive numbers, with 1 meaning "invalid", sometimes > marshalable, but > NOT incrementable// )
Classification of Structures
 arrays, buffers > constanttime randomly accessible, sequentially accessible, SOME fixedsize
 onedimensional arrays > onedimensional
 ring buffers > constanttime shiftable
 twodimensional arrays > twodimensional, multidimensional
 lists > sequentially accessible, constanttime insertable, constanttime shiftable, onedimensional
 single linked lists
 double linked lists
 hash tables > randomly accessible, constanttime insertable, nearconstanttime searchable (also logarithmictime searchable), constanttime shiftable
Classification of ...
 datetime
 ordered arrays > logarithmictime searchable
 collections
 containers
 skip lists > nearconstanttime randomly accessible
 stacks > sequentially accessible
 queues > sequentially accessible, constanttime shiftable
 graphs
Classification of Hybrids
** unrolled linked lists
Further Reading on Types
Survey of FloatingPoint Formats

