CD2 Class Two dimensional F64 pt CD2I32 Class Two dimensional I32 pt CD2I64 Class Two dimensional I64 pt CD3I64 Class Three dimensional I64 pt
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 sum=d1+d2 D3AddEqu Funct sum+=d D3Copy Funct dst=src D3Cross Funct prod=d1xd2 D3Dist Funct Distance D3DistSqr Funct Distance Squared D3Div Funct quot=d/s D3DivEqu Funct quot/=s D3Dot Funct d1 dot d2 D3Equ Funct dst=(x,y,z) D3Mul Funct prod=s*d D3MulEqu Funct prod*=s D3Norm Funct Norm D3NormSqr Funct Norm Squared D3Sub Funct diff=d1-d2 D3SubEqu Funct diff-=d D3Unit Funct To unit vect D3Zero Funct To zero
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/Circular Queue
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
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
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.
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/Linked List
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.
Data Types/Queue Vector