25 #include <sys/types.h>
46 pgraph->clkAddEdge = 0;
48 pgraph->clkNodeTree = 0;
49 pgraph->cNodeTree = 0;
642 pGraph->clkAddEdge += clock() - clk;
653 void *pvTailAttr,
void *pvEdgeAttr,
dglInt32_t nFlags)
667 pvTailAttr, pvEdgeAttr, nFlags);
674 pvTailAttr, pvEdgeAttr, nFlags);
683 pGraph->clkAddEdge += clock() - clk;
760 if (read(fd, &bVersion, 1) != 1) {
798 fnClip, pvClipArg, pCache);
805 fnClip, pvClipArg, pCache);
830 fnClip, pvClipArg, pCache);
837 fnClip, pvClipArg, pCache);
863 if (pgraphInput->
Version == 2) {
865 return -pgraphInput->
iErrno;
882 return -pgraphInput->
iErrno;
885 switch (pgraphInput->
Version) {
889 pvVisited, fnClip, pvClipArg);
896 pvVisited, fnClip, pvClipArg);
901 nRet = -pgraphInput->
iErrno;
916 int cgraphComponents,
932 return -pgraphInput->
iErrno;
952 switch (pgraphInput->
Version) {
971 if (pvertex ==
NULL) {
976 for (i = 0; i < cgraphComponents && pvertex; i++) {
986 switch (pgraphInput->
Version) {
1008 nret = -pgraphInput->
iErrno;
1022 switch (pgraphInput->
Version) {
1081 switch (pgraphInput->
Version) {
1097 nRet = -pgraphInput->
iErrno;
1111 if (pSPReport->
pArc) {
1112 for (iArc = 0; iArc < pSPReport->
cArc; iArc++) {
1116 free(pSPReport->
pArc);
1162 switch (pgraph->
iErrno) {
1164 return "Bad Version";
1166 return "Bad Node Type";
1168 return "Memory Exhausted";
1170 return "Heap Error";
1172 return "Undefined Method";
1178 return "Not Supported";
1180 return "Unknown Byte Order";
1182 return "Node Not Found";
1184 return "Head Node Not Found";
1186 return "Tail Node Not Found";
1190 return "Operation Not Supported On Flat-State Graph";
1192 return "Operation Not Supported On Tree-State Graph";
1194 return "Tree Search Error";
1196 return "Unexpected Null Pointer";
1198 return "Version Not Supported";
1200 return "Edge Not Found";
1202 return "Node Already Exist";
1204 return "Node Is A Component";
1206 return "Edge Already Exist";
1208 return "Bad Argument";
1211 return "unknown graph error code";
1243 return pgraph->
cNode;
1248 return pgraph->
cHead;
1253 return pgraph->
cTail;
1263 return pgraph->
cEdge;
1268 return pgraph->
Flags;
1554 #define __CIO_BEGIN 0
1555 #define __CIO_W_HEADER 1
1556 #define __CIO_W_NODEBUFFER 2
1557 #define __CIO_W_EDGEBUFFER 3
1558 #define __CIO_R_HEADER 4
1559 #define __CIO_R_NODEBUFFER 5
1560 #define __CIO_R_EDGEBUFFER 6
1602 memcpy(pb, &pIO->
pG->
cNode, 4);
1604 memcpy(pb, &pIO->
pG->
cHead, 4);
1606 memcpy(pb, &pIO->
pG->
cTail, 4);
1610 memcpy(pb, &pIO->
pG->
cEdge, 4);
1617 cb = pfn(pIO->
pG, pIO->
pb, pIO->
cb, pv);
1620 if ((pIO->
cb - pIO->
ib) == 0) {
1632 cb = pfn(pIO->
pG, pIO->
pb + pIO->
ib, pIO->
cb - pIO->
ib, pv);
1635 if ((pIO->
cb - pIO->
ib) == 0) {
1658 cb = pfn(pIO->
pG, pIO->
pb + pIO->
ib, pIO->
cb - pIO->
ib, pv);
1661 if ((pIO->
cb - pIO->
ib) == 0) {
1675 cb = pfn(pIO->
pG, pIO->
pb + pIO->
ib, pIO->
cb - pIO->
ib, pv);
1678 if ((pIO->
cb - pIO->
ib) == 0) {
1684 pfn(pIO->
pG,
NULL, 0, pv);
1691 #define MIN(x,y) (((x)<(y))?x:y)
1705 c =
MIN(cbChunk, 118);
1706 memcpy(pIO->
pb, pbChunk, c);
1708 if ((pIO->
cb - pIO->
ib) == 0)
1709 goto init_nodebuffer;
1714 c =
MIN(cbChunk, pIO->
cb - pIO->
ib);
1715 memcpy(pIO->
pb + pIO->
ib, pbChunk, c);
1718 if ((pIO->
cb - pIO->
ib) == 0) {
1736 memcpy(&pIO->
pG->
cNode, pb, 4);
1738 memcpy(&pIO->
pG->
cHead, pb, 4);
1740 memcpy(&pIO->
pG->
cTail, pb, 4);
1744 memcpy(&pIO->
pG->
cEdge, pb, 4);
1752 #ifdef DGL_ENDIAN_BIG
1773 for (i = 0; i < 16; i++) {
1777 #ifdef DGL_ENDIAN_BIG
1795 goto init_edgebuffer;
1800 c =
MIN(cbChunk, pIO->
cb - pIO->
ib);
1801 memcpy(pIO->
pb + pIO->
ib, pbChunk, c);
1804 if ((pIO->
cb - pIO->
ib) == 0) {
1821 c =
MIN(cbChunk, pIO->
cb - pIO->
ib);
1822 memcpy(pIO->
pb + pIO->
ib, pbChunk, c);
1824 if ((pIO->
cb - pIO->
ib) == 0) {
1842 in = 0; in < cn; in++) {
1852 in = 0; in < cn; in++) {