Data Types

CD2 Class Two dimensional F64 pt CD2I32 Class Two dimensional I32 pt CD2I64 Class Two dimensional I64 pt CD3I64 Class Three dimensional I64 pt

Data Types/CD3

TempleOS has a class for 3 dimensional points consisting of F64s. HolyC is not C++ -- it does not support passing or returning values from functions which are not 64-bits, therefore, it can't be implemented with operator overloading. Making all function args and returns 64-bit is a core prinicple of TempleOS. As a courtesy, most of the CD3 functions return the addr of the destination vect, so you can nestle calls. They do not alloc new space for the destination vect. CD3 Class Three dimensional F64 pt D3Add Funct Sign of F64: -1,0,1 D3AddEqu Funct Truncate F64. D3Copy Funct #help_index "Math/CD3;Data Types/CD3" D3Cross Funct #help_index "Math/CD3;Data Types/CD3" D3Dist Funct sum=d1+d2 D3DistSqr Funct sum=d1+d2 D3Div Funct sum+=d D3DivEqu Funct dst=src D3Dot Funct prod=d1xd2 D3Equ Funct Distance Squared D3Mul Funct quot=d/s D3MulEqu Funct quot/=s D3Norm Funct d1 dot d2 D3NormSqr Funct dst=(x,y,z) D3Sub Funct dst=(x,y,z) D3SubEqu Funct prod=s*d D3Unit Funct prod*=s D3Zero Funct Norm

Data Types/Circular Queue

A Queue is a bunch of MAlloc()ed chunks of mem linked together in a circle with one ptr to the next value and another ptr to the last value. These ptrs must be stored in the first locations in the structure. CQue Class class CQue QueCnt Funct Count of nodes in queue, not head. QueCopy Funct MAlloc ident copy of entire queue and head. QueDel Funct Free entries in queue, not head. QueInit Funct Init queue head links. QueIns Funct Insert item into que after predecessor. QueInsRev Funct Revd insert into que. QueRem Funct Remove item from queue. QueSize Funct Mem size of all nodes in queue, not head.

Data Types/Complex

CAdd Funct sum=n1+n2 CCopy Funct dst=src CDiv Funct quot=n1/n2 CEqu Funct dst=(x,y) CMul Funct prod=n1*n2 CPoly Funct Eval complex polynomial CScale Funct dst*=s CSub Funct diff=n1-n2 Complex Class class Complex NextPow2 Funct Get next power of 2 >= input

Data Types/D3I32

CD3I32 Class Three dimensional I32 pt CQueD3I32 Class Que of three dimensional I32 pts D3I32Dist Funct Distance D3I32DistSqr Funct Distance Squared D3I32Norm Funct Norm D3I32NormSqr Funct Norm Squared

Data Types/Fifo

CFifoI64 Class class CFifoI64 CFifoU8 Class class CFifoU8 FifoI64Cnt Funct Count of I64's in fifo. FifoI64Del Funct Free fifo. FifoI64Flush Funct Flush fifo getting rid of all I64's. FifoI64Ins Funct Insert I64 into fifo. FifoI64New Funct Create new fifo. FifoI64Peek Funct Peek at front of fifo and don't remove. FifoI64Rem Funct Remove I64 from fifo. FifoU8Cnt Funct Count of U8's in fifo. FifoU8Del Funct Free fifo. FifoU8Flush Funct Flush fifo getting rid of all U8's. FifoU8Ins Funct Insert U8 into fifo. FifoU8New Funct Create new fifo. FifoU8Peek Funct Peek at front of fifo and don't remove. FifoU8Rem Funct Remove U8 from fifo.

Data Types/Linked List

LinkedLstCnt Funct Count of nodes in linked-list. LinkedLstCopy Funct MAlloc ident copy of entire linked-list. LinkedLstDel Funct Free entire linked-list. LinkedLstSize Funct Mem size of all nodes in linked-list.

Data Types/Queue Vector

CQueVectU8 Class class CQueVectU8 QueVectU8Del Funct Free entire queue vector. QueVectU8Get Funct Get U8 at idx i. QueVectU8New Funct Create new queue vecter. QueVectU8Put Funct Put U8 at idx i.