--- /srv/reproducible-results/rbuild-debian/r-b-build.emaLc0LL/b1/maloc_1.5-1_amd64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.emaLc0LL/b2/maloc_1.5-1_amd64.changes ├── Files │ @@ -1,4 +1,4 @@ │ │ - 8627a216c9f24e04657ca2f59193bbf1 122008 libdevel optional libmaloc-dev_1.5-1_amd64.deb │ + d23418d5215cdcacc8d77b492da8f533 121972 libdevel optional libmaloc-dev_1.5-1_amd64.deb │ 3b0a8e3565cf14604af368f4255deac3 314636 debug optional libmaloc1-dbgsym_1.5-1_amd64.deb │ bb9888f7d264aa301337585743ad13c6 82988 libs optional libmaloc1_1.5-1_amd64.deb ├── libmaloc-dev_1.5-1_amd64.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2020-03-28 08:32:11.000000 debian-binary │ │ --rw-r--r-- 0 0 0 5468 2020-03-28 08:32:11.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 116348 2020-03-28 08:32:11.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 5464 2020-03-28 08:32:11.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 116316 2020-03-28 08:32:11.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -22,62 +22,62 @@ │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 941 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/changelog.Debian.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2759 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/copyright │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 102678 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00002.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 34019 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00002_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3831 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00003.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1129 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00004.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 17978 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00005.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 24222 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00005_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1158 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00006.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1319 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00007.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 14174 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00008.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 18584 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00008_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1152 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00009.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1310 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00010.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1128 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00004.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 14174 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00005.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 18584 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00005_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1150 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00006.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1310 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00007.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 17978 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00008.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 24222 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00008_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1156 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00009.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1319 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00010.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 12339 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00011.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 16675 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00011_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1274 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00012.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1273 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00012.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1004 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00013.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5867 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00014.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6411 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00014_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1408 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00015.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1406 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00015.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 701 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00016.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 17659 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00017.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 36490 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00017_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1149 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00018.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1147 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00018.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1108 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00019.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 18643 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00020.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 40474 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00020_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 854 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00021.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3181 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00022.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 5032 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00023.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 5722 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00023_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1091 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00024.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 2895 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00025.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 17560 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00026.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 25468 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00026_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 717 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00027.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3601 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00028.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 54413 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00029.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 23410 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00029_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 704 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00030.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3191 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00031.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 28830 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00032.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 53368 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00032_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 805 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00033.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3202 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00034.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 28830 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00023.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 53368 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00023_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 805 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00024.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 3202 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00025.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 54413 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00026.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 23410 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00026_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 704 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00027.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 3191 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00028.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 17560 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00029.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 25468 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00029_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 717 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00030.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 3601 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00031.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 5032 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00032.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 5722 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00032_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1091 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00033.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 2895 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00034.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 86130 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00035.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 36241 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00035_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 717 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00036.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4020 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00037.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4710 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00038.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5011 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00038_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1459 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00039.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1457 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00039.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1997 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00041.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6016 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00041_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1991 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00044.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2307 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00044_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3596 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00047.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 38748 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00048.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 22555 2020-03-28 08:32:11.000000 ./usr/share/doc/libmaloc-dev/html/a00049.html │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00004.dot.gz │ │ │ │ ├── a00004.dot │ │ │ │ │ @@ -7,46 +7,46 @@ │ │ │ │ │ Node1 [id="Node000001",label="maloc_base.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="The base (or foundation) header for MALOC."]; │ │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node2 [id="Node000002",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ │ Node1 -> Node3 [id="edge2_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node3 [id="Node000003",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ │ Node3 -> Node2 [id="edge3_Node000003_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node4 [id="edge4_Node000001_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node4 [id="Node000004",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ + Node4 [id="Node000004",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ Node4 -> Node5 [id="edge5_Node000004_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node5 [id="Node000005",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ │ Node5 -> Node3 [id="edge6_Node000005_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node6 [id="edge7_Node000001_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node6 [id="Node000006",label="vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node6 [id="Node000006",label="vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ Node6 -> Node7 [id="edge8_Node000006_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node7 [id="Node000007",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ + Node7 [id="Node000007",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ Node7 -> Node2 [id="edge9_Node000007_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node7 -> Node3 [id="edge10_Node000007_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node7 -> Node4 [id="edge11_Node000007_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node7 -> Node5 [id="edge12_Node000007_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node7 -> Node8 [id="edge13_Node000007_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node8 [id="Node000008",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ + Node8 [id="Node000008",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ Node8 -> Node5 [id="edge14_Node000008_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node7 -> Node9 [id="edge15_Node000007_Node000009",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node9 [id="Node000009",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ │ Node9 -> Node2 [id="edge16_Node000009_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node9 -> Node3 [id="edge17_Node000009_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node10 [id="edge18_Node000001_Node000010",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node10 [id="Node000010",label="vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node10 [id="Node000010",label="vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node10 -> Node11 [id="edge19_Node000010_Node000011",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node11 [id="Node000011",label="vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ Node11 -> Node7 [id="edge20_Node000011_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node10 -> Node7 [id="edge21_Node000010_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node5 [id="edge22_Node000001_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node8 [id="edge23_Node000001_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node12 [id="edge24_Node000001_Node000012",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node12 [id="Node000012",label="vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node12 -> Node6 [id="edge25_Node000012_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node12 -> Node11 [id="edge26_Node000012_Node000011",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node12 -> Node7 [id="edge27_Node000012_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node13 [id="edge28_Node000001_Node000013",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node13 [id="Node000013",label="vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node13 [id="Node000013",label="vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ Node13 -> Node7 [id="edge29_Node000013_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node11 [id="edge30_Node000001_Node000011",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node9 [id="edge31_Node000001_Node000009",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node7 [id="edge32_Node000001_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00005.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vcom.h File Reference │ │ │ │ +MALOC: vmpi.h File Reference │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -41,113 +41,97 @@ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ Classes | │ │ │ │ -Macros | │ │ │ │ Typedefs | │ │ │ │ Functions
│ │ │ │ -
vcom.h File Reference
│ │ │ │ +
vmpi.h File Reference
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ -

Class Vcom: virtual (currently just MPI) communications layer. │ │ │ │ +

Class Vmpi: a Virtual MPI communication layer object. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ -#include <maloc/vsys.h>
│ │ │ │ +#include <maloc/vsys.h>
│ │ │ │
│ │ │ │ -Include dependency graph for vcom.h:
│ │ │ │ +Include dependency graph for vmpi.h:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │

Go to the source code of this file.

│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │

│ │ │ │ Classes

struct  sVcom
 Contains public data members for Vcom class. More...
struct  sVmpi
 Class Vmpi: Definition. More...
 
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -

│ │ │ │ -Macros

#define VCOM_MPI_TAG   111
 A base value for MPI tags.
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │

│ │ │ │ Typedefs

typedef struct sVcom Vcom
 Declaration of the Vcom class as the Vcom structure
│ │ │ │ -
 
typedef struct sVmpi Vmpi
 Declaration of the Vmpi class as the Vmpi structure.
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │

│ │ │ │ Functions

int Vcom_init (int *argc, char ***argv)
 The Vmp initializer.
 
int Vcom_finalize (void)
 The Vmp finalizer.
 
VcomVcom_ctor (int commtype)
 Construct the communications object. This routine sets up data members of class and initializes MPI.
 
int Vcom_ctor2 (Vcom *thee, int commtype)
 Construct the communications object. This routine sets up data members of class and initializes MPI. This is broken into two parts to be callable from FORTRAN.
 
void Vcom_dtor (Vcom **thee)
 Destroy the communications object.
 
void Vcom_dtor2 (Vcom *thee)
 Destroy the communications object. This is broken into two parts to be callable from FORTRAN.
 
int Vcom_send (Vcom *thee, int des, void *buf, int len, int type, int block)
 Send a buffer. Returns 1 on success.
 
int Vcom_recv (Vcom *thee, int src, void *buf, int len, int type, int block)
 Receive a (character) buffer.
│ │ │ │ - The blocking flag is present, but not used. All receives are assumed to be blocking. A non-blocking receive would be very ugly to implement (signals or something?).
 
int Vcom_getCount (Vcom *thee, int src, int *length, int type)
 Perform a blocking probe to get the length (in number of items of specified type) of an incoming message and place it in the
│ │ │ │ - argument ``length".
 
int Vcom_reduce (Vcom *thee, void *sendbuf, void *recvbuf, int length, int type, int op)
 Perform a reduction of the data across all processors. This is equivalent (and in the case of MPI is identical to) MPI_Allreduce. Basically, the specified operations are appleed to each member of
│ │ │ │ - the sendbuf across all processors and the results are written to recvbuf.
 
int Vcom_size (Vcom *thee)
 Get the number of PEs in communicator.
 
int Vcom_resize (Vcom *thee, int newsize)
 Resize (shrink) the communications group to include only newsize number of processors.
│ │ │ │ - Obsolete processes are given rank of -1 and size of 0.
 
int Vcom_rank (Vcom *thee)
 Get the ID of the local PE
│ │ │ │ +
int Vmpi_init (int *argc, char ***argv)
 The Vmp initializer.
 
int Vmpi_finalize (void)
 The Vmp finalizer.
 
VmpiVmpi_ctor (void)
 The Vmpi constructor.
 
void Vmpi_dtor (Vmpi **thee)
 The Vmpi destructor.
 
int Vmpi_rank (Vmpi *thee)
 Return my processor ID.
│ │ │ │ +
 
int Vmpi_size (Vmpi *thee)
 Return the number of processors involved.
 
int Vmpi_barr (Vmpi *thee)
 An MPI barrier.
│ │ │ │
 
int Vcom_barr (Vcom *thee)
 Synchronization barrier.
 
 
int Vmpi_send (Vmpi *thee, int des, char *buf, int bufsize)
 An MPI blocking send.
 
int Vmpi_recv (Vmpi *thee, int src, char *buf, int bufsize)
 An MPI blocking receive.
 
int Vmpi_bcast (Vmpi *thee, char *buf, int bufsize)
 An MPI broadcast.
 
int Vmpi_reduce (Vmpi *thee, char *sbuf, char *rbuf, int bufsize)
 An MPI reduce.
│ │ │ │ +
 
int Vmpi_isend (Vmpi *thee, int des, char *buf, int bufsize)
 An MPI non-blocking send.
 
│ │ │ │

Detailed Description

│ │ │ │ -

Class Vcom: virtual (currently just MPI) communications layer.

│ │ │ │ -
Authors
Nathan Baker and Michael Holst
│ │ │ │ +

Class Vmpi: a Virtual MPI communication layer object.

│ │ │ │ +
Author
Michael Holst
│ │ │ │
Note
None
│ │ │ │
Version
│ │ │ │ -
Id
vcom.h,v 1.38 2010/08/12 05:40:23 fetk Exp
│ │ │ │ +
Id
vmpi.h,v 1.29 2010/08/12 05:40:23 fetk Exp
│ │ │ │
Attention
*
│ │ │ │  * MALOC = < Minimal Abstraction Layer for Object-oriented C >
│ │ │ │  * Copyright (C) 1994-- Michael Holst
│ │ │ │  *
│ │ │ │  * This library is free software; you can redistribute it and/or
│ │ │ │  * modify it under the terms of the GNU Lesser General Public
│ │ │ │  * License as published by the Free Software Foundation; either
│ │ │ │ @@ -159,31 +143,14 @@
│ │ │ │  * Lesser General Public License for more details.
│ │ │ │  *
│ │ │ │  * You should have received a copy of the GNU Lesser General Public
│ │ │ │  * License along with this library; if not, write to the Free Software
│ │ │ │  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
│ │ │ │  * 
│ │ │ │  *  
│ │ │ │ -

Macro Definition Documentation

│ │ │ │ - │ │ │ │ -

◆ VCOM_MPI_TAG

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define VCOM_MPI_TAG   111
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

A base value for MPI tags.

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,104 +1,77 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _p_s_h │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -_C_l_a_s_s_e_s | _M_a_c_r_o_s | _T_y_p_e_d_e_f_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ -vcom.h File Reference │ │ │ │ │ -_V_c_o_m_ _c_l_a_s_s │ │ │ │ │ -Class Vcom: virtual (currently just MPI) communications layer. _M_o_r_e_._._. │ │ │ │ │ +_C_l_a_s_s_e_s | _T_y_p_e_d_e_f_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ +vmpi.h File Reference │ │ │ │ │ +_V_m_p_i_ _c_l_a_s_s │ │ │ │ │ +Class Vmpi: a Virtual MPI communication layer object. _M_o_r_e_._._. │ │ │ │ │ #include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ #include <_m_a_l_o_c_/_v_s_y_s_._h> │ │ │ │ │ -Include dependency graph for vcom.h: │ │ │ │ │ +Include dependency graph for vmpi.h: │ │ │ │ │ This graph shows which files directly or indirectly include this file: │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _s_o_u_r_c_e_ _c_o_d_e_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ CCllaasssseess │ │ │ │ │ -struct   _s_V_c_o_m │ │ │ │ │ -  Contains public data members for Vcom class. _M_o_r_e_._._. │ │ │ │ │ -  │ │ │ │ │ -MMaaccrrooss │ │ │ │ │ -#define  _V_C_O_M___M_P_I___T_A_G   111 │ │ │ │ │ -  A base value for MPI tags. │ │ │ │ │ +struct   _s_V_m_p_i │ │ │ │ │ +  Class Vmpi: Definition. _M_o_r_e_._._. │ │ │ │ │   │ │ │ │ │ TTyyppeeddeeffss │ │ │ │ │ -typedef struct _s_V_c_o_m  _V_c_o_m │ │ │ │ │ -  Declaration of the Vcom class as the Vcom structure │ │ │ │ │ - │ │ │ │ │ +typedef struct _s_V_m_p_i  _V_m_p_i │ │ │ │ │ +  Declaration of the Vmpi class as the Vmpi structure. │ │ │ │ │   │ │ │ │ │ FFuunnccttiioonnss │ │ │ │ │ - int  _V_c_o_m___i_n_i_t (int *argc, char ***argv) │ │ │ │ │ + int  _V_m_p_i___i_n_i_t (int *argc, char ***argv) │ │ │ │ │   The Vmp initializer. │ │ │ │ │   │ │ │ │ │ - int  _V_c_o_m___f_i_n_a_l_i_z_e (void) │ │ │ │ │ + int  _V_m_p_i___f_i_n_a_l_i_z_e (void) │ │ │ │ │   The Vmp finalizer. │ │ │ │ │   │ │ │ │ │ -_V_c_o_m *  _V_c_o_m___c_t_o_r (int commtype) │ │ │ │ │ -  Construct the communications object. This routine sets up data members │ │ │ │ │ - of class and initializes MPI. │ │ │ │ │ -  │ │ │ │ │ - int  _V_c_o_m___c_t_o_r_2 (_V_c_o_m *thee, int commtype) │ │ │ │ │ - Construct the communications object. This routine sets up data members │ │ │ │ │ -  of class and initializes MPI. This is broken into two parts to be │ │ │ │ │ - callable from FORTRAN. │ │ │ │ │ -  │ │ │ │ │ - void  _V_c_o_m___d_t_o_r (_V_c_o_m **thee) │ │ │ │ │ -  Destroy the communications object. │ │ │ │ │ -  │ │ │ │ │ - void  _V_c_o_m___d_t_o_r_2 (_V_c_o_m *thee) │ │ │ │ │ -  Destroy the communications object. This is broken into two parts to be │ │ │ │ │ - callable from FORTRAN. │ │ │ │ │ -  │ │ │ │ │ - int  _V_c_o_m___s_e_n_d (_V_c_o_m *thee, int des, void *buf, int len, int type, int │ │ │ │ │ - block) │ │ │ │ │ -  Send a buffer. Returns 1 on success. │ │ │ │ │ -  │ │ │ │ │ - int  _V_c_o_m___r_e_c_v (_V_c_o_m *thee, int src, void *buf, int len, int type, int │ │ │ │ │ - block) │ │ │ │ │ - Receive a (character) buffer. │ │ │ │ │ -  The blocking flag is present, but not used. All receives are assumed to │ │ │ │ │ - be blocking. A non-blocking receive would be vveerryy ugly to implement │ │ │ │ │ - (signals or something?). │ │ │ │ │ -  │ │ │ │ │ - int  _V_c_o_m___g_e_t_C_o_u_n_t (_V_c_o_m *thee, int src, int *length, int type) │ │ │ │ │ - Perform a blocking probe to get the length (in number of items of │ │ │ │ │ -  specified type) of an incoming message and place it in the │ │ │ │ │ - argument ``length". │ │ │ │ │ -  │ │ │ │ │ - int  _V_c_o_m___r_e_d_u_c_e (_V_c_o_m *thee, void *sendbuf, void *recvbuf, int length, int │ │ │ │ │ - type, int op) │ │ │ │ │ - Perform a reduction of the data across all processors. This is │ │ │ │ │ - equivalent (and in the case of MPI is identical to) MPI_Allreduce. │ │ │ │ │ -  Basically, the specified operations are appleed to each member of │ │ │ │ │ - the sendbuf across all processors and the results are written to │ │ │ │ │ - recvbuf. │ │ │ │ │ -  │ │ │ │ │ - int  _V_c_o_m___s_i_z_e (_V_c_o_m *thee) │ │ │ │ │ -  Get the number of PEs in communicator. │ │ │ │ │ -  │ │ │ │ │ - int  _V_c_o_m___r_e_s_i_z_e (_V_c_o_m *thee, int newsize) │ │ │ │ │ - Resize (shrink) the communications group to include only newsize number │ │ │ │ │ -  of processors. │ │ │ │ │ - Obsolete processes are given rank of -1 and size of 0. │ │ │ │ │ +_V_m_p_i *  _V_m_p_i___c_t_o_r (void) │ │ │ │ │ +  The Vmpi constructor. │ │ │ │ │ +  │ │ │ │ │ + void  _V_m_p_i___d_t_o_r (_V_m_p_i **thee) │ │ │ │ │ +  The Vmpi destructor. │ │ │ │ │ +  │ │ │ │ │ + int  _V_m_p_i___r_a_n_k (_V_m_p_i *thee) │ │ │ │ │ +  Return my processor ID. │ │ │ │ │ + │ │ │ │ │ +  │ │ │ │ │ + int  _V_m_p_i___s_i_z_e (_V_m_p_i *thee) │ │ │ │ │ +  Return the number of processors involved. │ │ │ │ │ +  │ │ │ │ │ + int  _V_m_p_i___b_a_r_r (_V_m_p_i *thee) │ │ │ │ │ +  An MPI barrier. │ │ │ │ │ + │ │ │ │ │ +  │ │ │ │ │ + int  _V_m_p_i___s_e_n_d (_V_m_p_i *thee, int des, char *buf, int bufsize) │ │ │ │ │ +  An MPI blocking send. │ │ │ │ │ +  │ │ │ │ │ + int  _V_m_p_i___r_e_c_v (_V_m_p_i *thee, int src, char *buf, int bufsize) │ │ │ │ │ +  An MPI blocking receive. │ │ │ │ │ +  │ │ │ │ │ + int  _V_m_p_i___b_c_a_s_t (_V_m_p_i *thee, char *buf, int bufsize) │ │ │ │ │ +  An MPI broadcast. │ │ │ │ │   │ │ │ │ │ - int  _V_c_o_m___r_a_n_k (_V_c_o_m *thee) │ │ │ │ │ -  Get the ID of the local PE │ │ │ │ │ + int  _V_m_p_i___r_e_d_u_c_e (_V_m_p_i *thee, char *sbuf, char *rbuf, int bufsize) │ │ │ │ │ +  An MPI reduce. │ │ │ │ │ │ │ │ │ │   │ │ │ │ │ - int  _V_c_o_m___b_a_r_r (_V_c_o_m *thee) │ │ │ │ │ -  Synchronization barrier. │ │ │ │ │ + int  _V_m_p_i___i_s_e_n_d (_V_m_p_i *thee, int des, char *buf, int bufsize) │ │ │ │ │ +  An MPI non-blocking send. │ │ │ │ │   │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ -Class Vcom: virtual (currently just MPI) communications layer. │ │ │ │ │ - Authors │ │ │ │ │ - Nathan Baker and Michael Holst │ │ │ │ │ +Class Vmpi: a Virtual MPI communication layer object. │ │ │ │ │ + Author │ │ │ │ │ + Michael Holst │ │ │ │ │ Note │ │ │ │ │ None │ │ │ │ │ Version │ │ │ │ │ Id │ │ │ │ │ - _v_c_o_m_._h,v 1.38 2010/08/12 05:40:23 fetk Exp │ │ │ │ │ + _v_m_p_i_._h,v 1.29 2010/08/12 05:40:23 fetk Exp │ │ │ │ │ Attention │ │ │ │ │ * │ │ │ │ │ * MALOC = < Minimal Abstraction Layer for Object-oriented C > │ │ │ │ │ * Copyright (C) 1994-- Michael Holst │ │ │ │ │ * │ │ │ │ │ * This library is free software; you can redistribute it and/or │ │ │ │ │ * modify it under the terms of the GNU Lesser General Public │ │ │ │ │ @@ -111,13 +84,9 @@ │ │ │ │ │ * Lesser General Public License for more details. │ │ │ │ │ * │ │ │ │ │ * You should have received a copy of the GNU Lesser General Public │ │ │ │ │ * License along with this library; if not, write to the Free Software │ │ │ │ │ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA │ │ │ │ │ * │ │ │ │ │ * │ │ │ │ │ -********** MMaaccrroo DDeeffiinniittiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ -********** _?◆_? VVCCOOMM__MMPPII__TTAAGG ********** │ │ │ │ │ -#define VCOM_MPI_TAG   111 │ │ │ │ │ -A base value for MPI tags. │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00005_source.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vcom.h Source File │ │ │ │ +MALOC: vmpi.h Source File │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -44,114 +44,94 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
vcom.h
│ │ │ │ +
vmpi.h
│ │ │ │
│ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │ -
38#ifndef _VCOM_H_
│ │ │ │ -
39#define _VCOM_H_
│ │ │ │ +
38#ifndef _VMPI_H_
│ │ │ │ +
39#define _VMPI_H_
│ │ │ │
40
│ │ │ │
41#include <maloc/maloc_base.h>
│ │ │ │
42
│ │ │ │ -
43#include <maloc/vsys.h>
│ │ │ │ +
43#include <maloc/vsys.h>
│ │ │ │
44
│ │ │ │ -
46#define VCOM_MPI_TAG 111
│ │ │ │ -
47
│ │ │ │ -
48/*
│ │ │ │ -
49 * ***************************************************************************
│ │ │ │ -
50 * Class Vcom: Parameters and datatypes
│ │ │ │ -
51 * ***************************************************************************
│ │ │ │ -
52 */
│ │ │ │ -
53
│ │ │ │ -
│ │ │ │ -
60struct sVcom {
│ │ │ │ -
61
│ │ │ │ - │ │ │ │ - │ │ │ │ -
66
│ │ │ │ -
71 int type;
│ │ │ │ -
73 int error;
│ │ │ │ -
75 void *core;
│ │ │ │ -
76
│ │ │ │ -
77};
│ │ │ │ +
45/*
│ │ │ │ +
46 * ***************************************************************************
│ │ │ │ +
47 * Class Vmpi: Parameters and datatypes
│ │ │ │ +
48 * ***************************************************************************
│ │ │ │ +
49 */
│ │ │ │ +
50
│ │ │ │ +
51
│ │ │ │ +
│ │ │ │ +
57struct sVmpi {
│ │ │ │ + │ │ │ │ + │ │ │ │ +
60};
│ │ │ │
│ │ │ │ +
61
│ │ │ │ +
67typedef struct sVmpi Vmpi;
│ │ │ │ +
68
│ │ │ │ +
69/*
│ │ │ │ +
70 * ***************************************************************************
│ │ │ │ +
71 * Class Vmpi: Inlineable methods (vmpi.c)
│ │ │ │ +
72 * ***************************************************************************
│ │ │ │ +
73 */
│ │ │ │ +
74
│ │ │ │ +
75#if !defined(VINLINE_MALOC)
│ │ │ │ +
76#else /* if defined(VINLINE_MALOC) */
│ │ │ │ +
77#endif /* if !defined(VINLINE_MALOC) */
│ │ │ │
78
│ │ │ │ -
85typedef struct sVcom Vcom;
│ │ │ │ -
86
│ │ │ │ -
87/*
│ │ │ │ -
88 * ***************************************************************************
│ │ │ │ -
89 * Class Vcom: Inlineable methods (vcom.c)
│ │ │ │ -
90 * ***************************************************************************
│ │ │ │ -
91 */
│ │ │ │ -
92
│ │ │ │ -
93#if !defined(VINLINE_MALOC)
│ │ │ │ -
94#else /* if defined(VINLINE_MALOC) */
│ │ │ │ -
95#endif /* if !defined(VINLINE_MALOC) */
│ │ │ │ -
96
│ │ │ │ -
97
│ │ │ │ -
107int Vcom_init(int *argc, char ***argv);
│ │ │ │ -
108
│ │ │ │ - │ │ │ │ +
88int Vmpi_init(int *argc, char ***argv);
│ │ │ │ +
89
│ │ │ │ +
97int Vmpi_finalize(void);
│ │ │ │ +
98
│ │ │ │ + │ │ │ │ +
107
│ │ │ │ +
116void Vmpi_dtor(Vmpi **thee);
│ │ │ │
117
│ │ │ │ -
127Vcom* Vcom_ctor(int commtype);
│ │ │ │ -
128
│ │ │ │ -
140int Vcom_ctor2(Vcom* thee, int commtype);
│ │ │ │ -
141
│ │ │ │ -
150void Vcom_dtor(Vcom **thee);
│ │ │ │ -
151
│ │ │ │ -
161void Vcom_dtor2(Vcom *thee);
│ │ │ │ -
162
│ │ │ │ -
177int Vcom_send(Vcom *thee, int des, void *buf, int len, int type,
│ │ │ │ -
178 int block);
│ │ │ │ -
179
│ │ │ │ -
197int Vcom_recv(Vcom *thee, int src, void *buf, int len, int type,
│ │ │ │ -
198 int block);
│ │ │ │ -
199
│ │ │ │ -
214int Vcom_getCount(Vcom *thee, int src, int *length, int type);
│ │ │ │ -
215
│ │ │ │ -
237int Vcom_reduce(Vcom *thee, void *sendbuf, void *recvbuf, int length,
│ │ │ │ -
238 int type, int op);
│ │ │ │ -
239
│ │ │ │ -
248int Vcom_size(Vcom *thee);
│ │ │ │ -
249
│ │ │ │ -
261int Vcom_resize(Vcom *thee, int newsize);
│ │ │ │ -
262
│ │ │ │ -
271int Vcom_rank(Vcom *thee);
│ │ │ │ -
272
│ │ │ │ -
281int Vcom_barr(Vcom *thee);
│ │ │ │ -
282
│ │ │ │ -
283#endif /* _VCOM_H_ */
│ │ │ │ -
284
│ │ │ │ +
126int Vmpi_rank(Vmpi *thee);
│ │ │ │ +
127
│ │ │ │ +
136int Vmpi_size(Vmpi *thee);
│ │ │ │ +
137
│ │ │ │ +
146int Vmpi_barr(Vmpi *thee);
│ │ │ │ +
147
│ │ │ │ +
159int Vmpi_send(Vmpi *thee, int des, char *buf, int bufsize);
│ │ │ │ +
160
│ │ │ │ +
172int Vmpi_recv(Vmpi *thee, int src, char *buf, int bufsize);
│ │ │ │ +
173
│ │ │ │ +
184int Vmpi_bcast(Vmpi *thee, char *buf, int bufsize);
│ │ │ │ +
185
│ │ │ │ +
197int Vmpi_reduce(Vmpi *thee, char *sbuf, char *rbuf, int bufsize);
│ │ │ │ +
198
│ │ │ │ +
210int Vmpi_isend(Vmpi *thee, int des, char *buf, int bufsize);
│ │ │ │ +
211
│ │ │ │ +
212#endif /* _VMPI_H_ */
│ │ │ │ +
213
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │ -
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │ -
int Vcom_rank(Vcom *thee)
Get the ID of the local PE
│ │ │ │ -
int Vcom_resize(Vcom *thee, int newsize)
Resize (shrink) the communications group to include only newsize number of processors....
│ │ │ │ -
int Vcom_ctor2(Vcom *thee, int commtype)
Construct the communications object. This routine sets up data members of class and initializes MPI....
│ │ │ │ -
int Vcom_size(Vcom *thee)
Get the number of PEs in communicator.
│ │ │ │ -
int Vcom_reduce(Vcom *thee, void *sendbuf, void *recvbuf, int length, int type, int op)
Perform a reduction of the data across all processors. This is equivalent (and in the case of MPI is ...
│ │ │ │ -
Vcom * Vcom_ctor(int commtype)
Construct the communications object. This routine sets up data members of class and initializes MPI.
│ │ │ │ -
int Vcom_init(int *argc, char ***argv)
The Vmp initializer.
│ │ │ │ -
int Vcom_finalize(void)
The Vmp finalizer.
│ │ │ │ -
int Vcom_barr(Vcom *thee)
Synchronization barrier.
│ │ │ │ -
void Vcom_dtor(Vcom **thee)
Destroy the communications object.
│ │ │ │ -
int Vcom_recv(Vcom *thee, int src, void *buf, int len, int type, int block)
Receive a (character) buffer. The blocking flag is present, but not used. All receives are assumed ...
│ │ │ │ -
int Vcom_getCount(Vcom *thee, int src, int *length, int type)
Perform a blocking probe to get the length (in number of items of specified type) of an incoming mess...
│ │ │ │ -
int Vcom_send(Vcom *thee, int des, void *buf, int len, int type, int block)
Send a buffer. Returns 1 on success.
│ │ │ │ -
void Vcom_dtor2(Vcom *thee)
Destroy the communications object. This is broken into two parts to be callable from FORTRAN.
│ │ │ │ -
Contains public data members for Vcom class.
Definition vcom.h:60
│ │ │ │ -
int type
Communication type. 0 = not initialized 1 = Message Passing Interface 1.1.
Definition vcom.h:71
│ │ │ │ -
int error
note if any error has occurred on this vcom device
Definition vcom.h:73
│ │ │ │ -
int mpi_size
Total number of PEs in this communicator from MPI.
Definition vcom.h:65
│ │ │ │ -
void * core
Private MPI core.
Definition vcom.h:75
│ │ │ │ -
int mpi_rank
Local PE rank from MPI.
Definition vcom.h:63
│ │ │ │ +
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │ +
int Vmpi_init(int *argc, char ***argv)
The Vmp initializer.
│ │ │ │ +
int Vmpi_finalize(void)
The Vmp finalizer.
│ │ │ │ +
int Vmpi_size(Vmpi *thee)
Return the number of processors involved.
│ │ │ │ +
int Vmpi_reduce(Vmpi *thee, char *sbuf, char *rbuf, int bufsize)
An MPI reduce.
│ │ │ │ +
int Vmpi_recv(Vmpi *thee, int src, char *buf, int bufsize)
An MPI blocking receive.
│ │ │ │ +
int Vmpi_isend(Vmpi *thee, int des, char *buf, int bufsize)
An MPI non-blocking send.
│ │ │ │ +
void Vmpi_dtor(Vmpi **thee)
The Vmpi destructor.
│ │ │ │ +
int Vmpi_send(Vmpi *thee, int des, char *buf, int bufsize)
An MPI blocking send.
│ │ │ │ +
Vmpi * Vmpi_ctor(void)
The Vmpi constructor.
│ │ │ │ +
int Vmpi_barr(Vmpi *thee)
An MPI barrier.
│ │ │ │ +
int Vmpi_bcast(Vmpi *thee, char *buf, int bufsize)
An MPI broadcast.
│ │ │ │ +
int Vmpi_rank(Vmpi *thee)
Return my processor ID.
│ │ │ │ +
Class Vmpi: Definition.
Definition vmpi.h:57
│ │ │ │ +
int mpi_rank
Definition vmpi.h:58
│ │ │ │ +
int mpi_size
Definition vmpi.h:59
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,162 +1,119 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _p_s_h │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -vcom.h │ │ │ │ │ +vmpi.h │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _d_o_c_u_m_e_n_t_a_t_i_o_n_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ 1 │ │ │ │ │ -38#ifndef _VCOM_H_ │ │ │ │ │ -39#define _VCOM_H_ │ │ │ │ │ +38#ifndef _VMPI_H_ │ │ │ │ │ +39#define _VMPI_H_ │ │ │ │ │ 40 │ │ │ │ │ 41#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ 42 │ │ │ │ │ 43#include <_m_a_l_o_c_/_v_s_y_s_._h> │ │ │ │ │ 44 │ │ │ │ │ -_4_6#define VCOM_MPI_TAG 111 │ │ │ │ │ -47 │ │ │ │ │ -48/* │ │ │ │ │ -49 * │ │ │ │ │ +45/* │ │ │ │ │ +46 * │ │ │ │ │ *************************************************************************** │ │ │ │ │ -50 * Class Vcom: Parameters and datatypes │ │ │ │ │ -51 * │ │ │ │ │ +47 * Class Vmpi: Parameters and datatypes │ │ │ │ │ +48 * │ │ │ │ │ *************************************************************************** │ │ │ │ │ -52 */ │ │ │ │ │ -53 │ │ │ │ │ -_6_0struct _s_V_c_o_m { │ │ │ │ │ +49 */ │ │ │ │ │ +50 │ │ │ │ │ +51 │ │ │ │ │ +_5_7struct _s_V_m_p_i { │ │ │ │ │ +_5_8 int _m_p_i___r_a_n_k; │ │ │ │ │ +_5_9 int _m_p_i___s_i_z_e; │ │ │ │ │ +60}; │ │ │ │ │ 61 │ │ │ │ │ -_6_3 int _m_p_i___r_a_n_k; │ │ │ │ │ -_6_5 int _m_p_i___s_i_z_e; │ │ │ │ │ -66 │ │ │ │ │ -_7_1 int _t_y_p_e; │ │ │ │ │ -_7_3 int _e_r_r_o_r; │ │ │ │ │ -_7_5 void *_c_o_r_e; │ │ │ │ │ -76 │ │ │ │ │ -77}; │ │ │ │ │ -78 │ │ │ │ │ -_8_5typedef struct _s_V_c_o_m _V_c_o_m; │ │ │ │ │ -86 │ │ │ │ │ -87/* │ │ │ │ │ -88 * │ │ │ │ │ +_6_7typedef struct _s_V_m_p_i _V_m_p_i; │ │ │ │ │ +68 │ │ │ │ │ +69/* │ │ │ │ │ +70 * │ │ │ │ │ *************************************************************************** │ │ │ │ │ -89 * Class Vcom: Inlineable methods (vcom.c) │ │ │ │ │ -90 * │ │ │ │ │ +71 * Class Vmpi: Inlineable methods (vmpi.c) │ │ │ │ │ +72 * │ │ │ │ │ *************************************************************************** │ │ │ │ │ -91 */ │ │ │ │ │ -92 │ │ │ │ │ -93#if !defined(VINLINE_MALOC) │ │ │ │ │ -94#else /* if defined(VINLINE_MALOC) */ │ │ │ │ │ -95#endif /* if !defined(VINLINE_MALOC) */ │ │ │ │ │ -96 │ │ │ │ │ -97 │ │ │ │ │ -_1_0_7int _V_c_o_m___i_n_i_t(int *argc, char ***argv); │ │ │ │ │ -108 │ │ │ │ │ -_1_1_6int _V_c_o_m___f_i_n_a_l_i_z_e(void); │ │ │ │ │ +73 */ │ │ │ │ │ +74 │ │ │ │ │ +75#if !defined(VINLINE_MALOC) │ │ │ │ │ +76#else /* if defined(VINLINE_MALOC) */ │ │ │ │ │ +77#endif /* if !defined(VINLINE_MALOC) */ │ │ │ │ │ +78 │ │ │ │ │ +_8_8int _V_m_p_i___i_n_i_t(int *argc, char ***argv); │ │ │ │ │ +89 │ │ │ │ │ +_9_7int _V_m_p_i___f_i_n_a_l_i_z_e(void); │ │ │ │ │ +98 │ │ │ │ │ +_1_0_6_V_m_p_i* _V_m_p_i___c_t_o_r(void); │ │ │ │ │ +107 │ │ │ │ │ +_1_1_6void _V_m_p_i___d_t_o_r(_V_m_p_i **thee); │ │ │ │ │ 117 │ │ │ │ │ -_1_2_7_V_c_o_m* _V_c_o_m___c_t_o_r(int commtype); │ │ │ │ │ -128 │ │ │ │ │ -_1_4_0int _V_c_o_m___c_t_o_r_2(_V_c_o_m* thee, int commtype); │ │ │ │ │ -141 │ │ │ │ │ -_1_5_0void _V_c_o_m___d_t_o_r(_V_c_o_m **thee); │ │ │ │ │ -151 │ │ │ │ │ -_1_6_1void _V_c_o_m___d_t_o_r_2(_V_c_o_m *thee); │ │ │ │ │ -162 │ │ │ │ │ -_1_7_7int _V_c_o_m___s_e_n_d(_V_c_o_m *thee, int des, void *buf, int len, int _t_y_p_e, │ │ │ │ │ -178 int block); │ │ │ │ │ -179 │ │ │ │ │ -_1_9_7int _V_c_o_m___r_e_c_v(_V_c_o_m *thee, int src, void *buf, int len, int _t_y_p_e, │ │ │ │ │ -198 int block); │ │ │ │ │ -199 │ │ │ │ │ -_2_1_4int _V_c_o_m___g_e_t_C_o_u_n_t(_V_c_o_m *thee, int src, int *length, int _t_y_p_e); │ │ │ │ │ -215 │ │ │ │ │ -_2_3_7int _V_c_o_m___r_e_d_u_c_e(_V_c_o_m *thee, void *sendbuf, void *recvbuf, int length, │ │ │ │ │ -238 int _t_y_p_e, int op); │ │ │ │ │ -239 │ │ │ │ │ -_2_4_8int _V_c_o_m___s_i_z_e(_V_c_o_m *thee); │ │ │ │ │ -249 │ │ │ │ │ -_2_6_1int _V_c_o_m___r_e_s_i_z_e(_V_c_o_m *thee, int newsize); │ │ │ │ │ -262 │ │ │ │ │ -_2_7_1int _V_c_o_m___r_a_n_k(_V_c_o_m *thee); │ │ │ │ │ -272 │ │ │ │ │ -_2_8_1int _V_c_o_m___b_a_r_r(_V_c_o_m *thee); │ │ │ │ │ -282 │ │ │ │ │ -283#endif /* _VCOM_H_ */ │ │ │ │ │ -284 │ │ │ │ │ +_1_2_6int _V_m_p_i___r_a_n_k(_V_m_p_i *thee); │ │ │ │ │ +127 │ │ │ │ │ +_1_3_6int _V_m_p_i___s_i_z_e(_V_m_p_i *thee); │ │ │ │ │ +137 │ │ │ │ │ +_1_4_6int _V_m_p_i___b_a_r_r(_V_m_p_i *thee); │ │ │ │ │ +147 │ │ │ │ │ +_1_5_9int _V_m_p_i___s_e_n_d(_V_m_p_i *thee, int des, char *buf, int bufsize); │ │ │ │ │ +160 │ │ │ │ │ +_1_7_2int _V_m_p_i___r_e_c_v(_V_m_p_i *thee, int src, char *buf, int bufsize); │ │ │ │ │ +173 │ │ │ │ │ +_1_8_4int _V_m_p_i___b_c_a_s_t(_V_m_p_i *thee, char *buf, int bufsize); │ │ │ │ │ +185 │ │ │ │ │ +_1_9_7int _V_m_p_i___r_e_d_u_c_e(_V_m_p_i *thee, char *sbuf, char *rbuf, int bufsize); │ │ │ │ │ +198 │ │ │ │ │ +_2_1_0int _V_m_p_i___i_s_e_n_d(_V_m_p_i *thee, int des, char *buf, int bufsize); │ │ │ │ │ +211 │ │ │ │ │ +212#endif /* _VMPI_H_ */ │ │ │ │ │ +213 │ │ │ │ │ _m_a_l_o_c___b_a_s_e_._h │ │ │ │ │ The base (or foundation) header for MALOC. │ │ │ │ │ _v_s_y_s_._h │ │ │ │ │ The primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │ │ -_V_c_o_m___r_a_n_k │ │ │ │ │ -int Vcom_rank(Vcom *thee) │ │ │ │ │ -Get the ID of the local PE │ │ │ │ │ -_V_c_o_m___r_e_s_i_z_e │ │ │ │ │ -int Vcom_resize(Vcom *thee, int newsize) │ │ │ │ │ -Resize (shrink) the communications group to include only newsize number of │ │ │ │ │ -processors.... │ │ │ │ │ -_V_c_o_m___c_t_o_r_2 │ │ │ │ │ -int Vcom_ctor2(Vcom *thee, int commtype) │ │ │ │ │ -Construct the communications object. This routine sets up data members of class │ │ │ │ │ -and initializes MPI.... │ │ │ │ │ -_V_c_o_m___s_i_z_e │ │ │ │ │ -int Vcom_size(Vcom *thee) │ │ │ │ │ -Get the number of PEs in communicator. │ │ │ │ │ -_V_c_o_m___r_e_d_u_c_e │ │ │ │ │ -int Vcom_reduce(Vcom *thee, void *sendbuf, void *recvbuf, int length, int type, │ │ │ │ │ -int op) │ │ │ │ │ -Perform a reduction of the data across all processors. This is equivalent (and │ │ │ │ │ -in the case of MPI is ... │ │ │ │ │ -_V_c_o_m___c_t_o_r │ │ │ │ │ -Vcom * Vcom_ctor(int commtype) │ │ │ │ │ -Construct the communications object. This routine sets up data members of class │ │ │ │ │ -and initializes MPI. │ │ │ │ │ -_V_c_o_m___i_n_i_t │ │ │ │ │ -int Vcom_init(int *argc, char ***argv) │ │ │ │ │ +_V_m_p_i___i_n_i_t │ │ │ │ │ +int Vmpi_init(int *argc, char ***argv) │ │ │ │ │ The Vmp initializer. │ │ │ │ │ -_V_c_o_m___f_i_n_a_l_i_z_e │ │ │ │ │ -int Vcom_finalize(void) │ │ │ │ │ +_V_m_p_i___f_i_n_a_l_i_z_e │ │ │ │ │ +int Vmpi_finalize(void) │ │ │ │ │ The Vmp finalizer. │ │ │ │ │ -_V_c_o_m___b_a_r_r │ │ │ │ │ -int Vcom_barr(Vcom *thee) │ │ │ │ │ -Synchronization barrier. │ │ │ │ │ -_V_c_o_m___d_t_o_r │ │ │ │ │ -void Vcom_dtor(Vcom **thee) │ │ │ │ │ -Destroy the communications object. │ │ │ │ │ -_V_c_o_m___r_e_c_v │ │ │ │ │ -int Vcom_recv(Vcom *thee, int src, void *buf, int len, int type, int block) │ │ │ │ │ -Receive a (character) buffer. The blocking flag is present, but not used. All │ │ │ │ │ -receives are assumed ... │ │ │ │ │ -_V_c_o_m___g_e_t_C_o_u_n_t │ │ │ │ │ -int Vcom_getCount(Vcom *thee, int src, int *length, int type) │ │ │ │ │ -Perform a blocking probe to get the length (in number of items of specified │ │ │ │ │ -type) of an incoming mess... │ │ │ │ │ -_V_c_o_m___s_e_n_d │ │ │ │ │ -int Vcom_send(Vcom *thee, int des, void *buf, int len, int type, int block) │ │ │ │ │ -Send a buffer. Returns 1 on success. │ │ │ │ │ -_V_c_o_m___d_t_o_r_2 │ │ │ │ │ -void Vcom_dtor2(Vcom *thee) │ │ │ │ │ -Destroy the communications object. This is broken into two parts to be callable │ │ │ │ │ -from FORTRAN. │ │ │ │ │ -_s_V_c_o_m │ │ │ │ │ -Contains public data members for Vcom class. │ │ │ │ │ -DDeeffiinniittiioonn vcom.h:60 │ │ │ │ │ -_s_V_c_o_m_:_:_t_y_p_e │ │ │ │ │ -int type │ │ │ │ │ -Communication type. 0 = not initialized 1 = Message Passing Interface 1.1. │ │ │ │ │ -DDeeffiinniittiioonn vcom.h:71 │ │ │ │ │ -_s_V_c_o_m_:_:_e_r_r_o_r │ │ │ │ │ -int error │ │ │ │ │ -note if any error has occurred on this vcom device │ │ │ │ │ -DDeeffiinniittiioonn vcom.h:73 │ │ │ │ │ -_s_V_c_o_m_:_:_m_p_i___s_i_z_e │ │ │ │ │ -int mpi_size │ │ │ │ │ -Total number of PEs in this communicator from MPI. │ │ │ │ │ -DDeeffiinniittiioonn vcom.h:65 │ │ │ │ │ -_s_V_c_o_m_:_:_c_o_r_e │ │ │ │ │ -void * core │ │ │ │ │ -Private MPI core. │ │ │ │ │ -DDeeffiinniittiioonn vcom.h:75 │ │ │ │ │ -_s_V_c_o_m_:_:_m_p_i___r_a_n_k │ │ │ │ │ +_V_m_p_i___s_i_z_e │ │ │ │ │ +int Vmpi_size(Vmpi *thee) │ │ │ │ │ +Return the number of processors involved. │ │ │ │ │ +_V_m_p_i___r_e_d_u_c_e │ │ │ │ │ +int Vmpi_reduce(Vmpi *thee, char *sbuf, char *rbuf, int bufsize) │ │ │ │ │ +An MPI reduce. │ │ │ │ │ +_V_m_p_i___r_e_c_v │ │ │ │ │ +int Vmpi_recv(Vmpi *thee, int src, char *buf, int bufsize) │ │ │ │ │ +An MPI blocking receive. │ │ │ │ │ +_V_m_p_i___i_s_e_n_d │ │ │ │ │ +int Vmpi_isend(Vmpi *thee, int des, char *buf, int bufsize) │ │ │ │ │ +An MPI non-blocking send. │ │ │ │ │ +_V_m_p_i___d_t_o_r │ │ │ │ │ +void Vmpi_dtor(Vmpi **thee) │ │ │ │ │ +The Vmpi destructor. │ │ │ │ │ +_V_m_p_i___s_e_n_d │ │ │ │ │ +int Vmpi_send(Vmpi *thee, int des, char *buf, int bufsize) │ │ │ │ │ +An MPI blocking send. │ │ │ │ │ +_V_m_p_i___c_t_o_r │ │ │ │ │ +Vmpi * Vmpi_ctor(void) │ │ │ │ │ +The Vmpi constructor. │ │ │ │ │ +_V_m_p_i___b_a_r_r │ │ │ │ │ +int Vmpi_barr(Vmpi *thee) │ │ │ │ │ +An MPI barrier. │ │ │ │ │ +_V_m_p_i___b_c_a_s_t │ │ │ │ │ +int Vmpi_bcast(Vmpi *thee, char *buf, int bufsize) │ │ │ │ │ +An MPI broadcast. │ │ │ │ │ +_V_m_p_i___r_a_n_k │ │ │ │ │ +int Vmpi_rank(Vmpi *thee) │ │ │ │ │ +Return my processor ID. │ │ │ │ │ +_s_V_m_p_i │ │ │ │ │ +Class Vmpi: Definition. │ │ │ │ │ +DDeeffiinniittiioonn vmpi.h:57 │ │ │ │ │ +_s_V_m_p_i_:_:_m_p_i___r_a_n_k │ │ │ │ │ int mpi_rank │ │ │ │ │ -Local PE rank from MPI. │ │ │ │ │ -DDeeffiinniittiioonn vcom.h:63 │ │ │ │ │ +DDeeffiinniittiioonn vmpi.h:58 │ │ │ │ │ +_s_V_m_p_i_:_:_m_p_i___s_i_z_e │ │ │ │ │ +int mpi_size │ │ │ │ │ +DDeeffiinniittiioonn vmpi.h:59 │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00006.dot.gz │ │ │ │ ├── a00006.dot │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ -digraph "vcom.h" │ │ │ │ │ +digraph "vmpi.h" │ │ │ │ │ { │ │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ │ bgcolor="transparent"; │ │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ │ - Node1 [id="Node000001",label="vcom.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ + Node1 [id="Node000001",label="vmpi.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node2 [id="Node000002",label="maloc/maloc_base.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00002.html",tooltip="The base (or foundation) header for MALOC."]; │ │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node3 [id="Node000003",label="assert.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node4 [id="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node4 [id="Node000004",label="ctype.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ @@ -34,28 +34,28 @@ │ │ │ │ │ Node2 -> Node15 [id="edge14_Node000002_Node000015",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node15 [id="Node000015",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node16 [id="edge15_Node000002_Node000016",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ + Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node19 [id="edge19_Node000018_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node19 [id="Node000019",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node20 [id="edge21_Node000018_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node20 -> Node2 [id="edge22_Node000020_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node21 [id="edge23_Node000018_Node000021",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ Node21 -> Node2 [id="edge24_Node000021_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node21 -> Node19 [id="edge25_Node000021_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node22 [id="edge26_Node000018_Node000022",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 [id="Node000022",label="maloc/vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ Node22 -> Node2 [id="edge27_Node000022_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node19 [id="edge28_Node000022_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node20 [id="edge29_Node000022_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node23 [id="edge30_Node000018_Node000023",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ Node23 -> Node2 [id="edge31_Node000023_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00007.dot │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ -digraph "vcom.h" │ │ │ │ +digraph "vmpi.h" │ │ │ │ { │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ bgcolor="transparent"; │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ - Node1 [id="Node000001",label="vcom.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ + Node1 [id="Node000001",label="vmpi.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node2 [id="Node000002",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node3 [id="Node000003",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ Node3 -> Node4 [id="edge3_Node000003_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node4 [id="Node000004",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00008.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vmpi.h File Reference │ │ │ │ +MALOC: vcom.h File Reference │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -41,97 +41,113 @@ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ Classes | │ │ │ │ +Macros | │ │ │ │ Typedefs | │ │ │ │ Functions
│ │ │ │ -
vmpi.h File Reference
│ │ │ │ +
vcom.h File Reference
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ -

Class Vmpi: a Virtual MPI communication layer object. │ │ │ │ +

Class Vcom: virtual (currently just MPI) communications layer. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ -#include <maloc/vsys.h>
│ │ │ │ +#include <maloc/vsys.h>
│ │ │ │
│ │ │ │ -Include dependency graph for vmpi.h:
│ │ │ │ +Include dependency graph for vcom.h:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │

Go to the source code of this file.

│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │

│ │ │ │ Classes

struct  sVmpi
 Class Vmpi: Definition. More...
struct  sVcom
 Contains public data members for Vcom class. More...
 
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +

│ │ │ │ +Macros

#define VCOM_MPI_TAG   111
 A base value for MPI tags.
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │

│ │ │ │ Typedefs

typedef struct sVmpi Vmpi
 Declaration of the Vmpi class as the Vmpi structure.
 
typedef struct sVcom Vcom
 Declaration of the Vcom class as the Vcom structure
│ │ │ │ +
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │

│ │ │ │ Functions

int Vmpi_init (int *argc, char ***argv)
 The Vmp initializer.
 
int Vmpi_finalize (void)
 The Vmp finalizer.
 
VmpiVmpi_ctor (void)
 The Vmpi constructor.
 
void Vmpi_dtor (Vmpi **thee)
 The Vmpi destructor.
 
int Vmpi_rank (Vmpi *thee)
 Return my processor ID.
│ │ │ │ -
 
int Vmpi_size (Vmpi *thee)
 Return the number of processors involved.
 
int Vmpi_barr (Vmpi *thee)
 An MPI barrier.
│ │ │ │ +
int Vcom_init (int *argc, char ***argv)
 The Vmp initializer.
 
int Vcom_finalize (void)
 The Vmp finalizer.
 
VcomVcom_ctor (int commtype)
 Construct the communications object. This routine sets up data members of class and initializes MPI.
 
int Vcom_ctor2 (Vcom *thee, int commtype)
 Construct the communications object. This routine sets up data members of class and initializes MPI. This is broken into two parts to be callable from FORTRAN.
 
void Vcom_dtor (Vcom **thee)
 Destroy the communications object.
 
void Vcom_dtor2 (Vcom *thee)
 Destroy the communications object. This is broken into two parts to be callable from FORTRAN.
 
int Vcom_send (Vcom *thee, int des, void *buf, int len, int type, int block)
 Send a buffer. Returns 1 on success.
 
int Vcom_recv (Vcom *thee, int src, void *buf, int len, int type, int block)
 Receive a (character) buffer.
│ │ │ │ + The blocking flag is present, but not used. All receives are assumed to be blocking. A non-blocking receive would be very ugly to implement (signals or something?).
 
int Vcom_getCount (Vcom *thee, int src, int *length, int type)
 Perform a blocking probe to get the length (in number of items of specified type) of an incoming message and place it in the
│ │ │ │ + argument ``length".
 
int Vcom_reduce (Vcom *thee, void *sendbuf, void *recvbuf, int length, int type, int op)
 Perform a reduction of the data across all processors. This is equivalent (and in the case of MPI is identical to) MPI_Allreduce. Basically, the specified operations are appleed to each member of
│ │ │ │ + the sendbuf across all processors and the results are written to recvbuf.
 
int Vcom_size (Vcom *thee)
 Get the number of PEs in communicator.
 
int Vcom_resize (Vcom *thee, int newsize)
 Resize (shrink) the communications group to include only newsize number of processors.
│ │ │ │ + Obsolete processes are given rank of -1 and size of 0.
 
int Vcom_rank (Vcom *thee)
 Get the ID of the local PE
│ │ │ │
 
int Vmpi_send (Vmpi *thee, int des, char *buf, int bufsize)
 An MPI blocking send.
 
int Vmpi_recv (Vmpi *thee, int src, char *buf, int bufsize)
 An MPI blocking receive.
 
int Vmpi_bcast (Vmpi *thee, char *buf, int bufsize)
 An MPI broadcast.
 
int Vmpi_reduce (Vmpi *thee, char *sbuf, char *rbuf, int bufsize)
 An MPI reduce.
│ │ │ │ -
 
int Vmpi_isend (Vmpi *thee, int des, char *buf, int bufsize)
 An MPI non-blocking send.
 
 
int Vcom_barr (Vcom *thee)
 Synchronization barrier.
 
│ │ │ │

Detailed Description

│ │ │ │ -

Class Vmpi: a Virtual MPI communication layer object.

│ │ │ │ -
Author
Michael Holst
│ │ │ │ +

Class Vcom: virtual (currently just MPI) communications layer.

│ │ │ │ +
Authors
Nathan Baker and Michael Holst
│ │ │ │
Note
None
│ │ │ │
Version
│ │ │ │ -
Id
vmpi.h,v 1.29 2010/08/12 05:40:23 fetk Exp
│ │ │ │ +
Id
vcom.h,v 1.38 2010/08/12 05:40:23 fetk Exp
│ │ │ │
Attention
*
│ │ │ │  * MALOC = < Minimal Abstraction Layer for Object-oriented C >
│ │ │ │  * Copyright (C) 1994-- Michael Holst
│ │ │ │  *
│ │ │ │  * This library is free software; you can redistribute it and/or
│ │ │ │  * modify it under the terms of the GNU Lesser General Public
│ │ │ │  * License as published by the Free Software Foundation; either
│ │ │ │ @@ -143,14 +159,31 @@
│ │ │ │  * Lesser General Public License for more details.
│ │ │ │  *
│ │ │ │  * You should have received a copy of the GNU Lesser General Public
│ │ │ │  * License along with this library; if not, write to the Free Software
│ │ │ │  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
│ │ │ │  * 
│ │ │ │  *  
│ │ │ │ -
│ │ │ │ +

Macro Definition Documentation

│ │ │ │ + │ │ │ │ +

◆ VCOM_MPI_TAG

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define VCOM_MPI_TAG   111
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

A base value for MPI tags.

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,77 +1,104 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _p_s_h │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -_C_l_a_s_s_e_s | _T_y_p_e_d_e_f_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ -vmpi.h File Reference │ │ │ │ │ -_V_m_p_i_ _c_l_a_s_s │ │ │ │ │ -Class Vmpi: a Virtual MPI communication layer object. _M_o_r_e_._._. │ │ │ │ │ +_C_l_a_s_s_e_s | _M_a_c_r_o_s | _T_y_p_e_d_e_f_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ +vcom.h File Reference │ │ │ │ │ +_V_c_o_m_ _c_l_a_s_s │ │ │ │ │ +Class Vcom: virtual (currently just MPI) communications layer. _M_o_r_e_._._. │ │ │ │ │ #include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ #include <_m_a_l_o_c_/_v_s_y_s_._h> │ │ │ │ │ -Include dependency graph for vmpi.h: │ │ │ │ │ +Include dependency graph for vcom.h: │ │ │ │ │ This graph shows which files directly or indirectly include this file: │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _s_o_u_r_c_e_ _c_o_d_e_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ CCllaasssseess │ │ │ │ │ -struct   _s_V_m_p_i │ │ │ │ │ -  Class Vmpi: Definition. _M_o_r_e_._._. │ │ │ │ │ +struct   _s_V_c_o_m │ │ │ │ │ +  Contains public data members for Vcom class. _M_o_r_e_._._. │ │ │ │ │ +  │ │ │ │ │ +MMaaccrrooss │ │ │ │ │ +#define  _V_C_O_M___M_P_I___T_A_G   111 │ │ │ │ │ +  A base value for MPI tags. │ │ │ │ │   │ │ │ │ │ TTyyppeeddeeffss │ │ │ │ │ -typedef struct _s_V_m_p_i  _V_m_p_i │ │ │ │ │ -  Declaration of the Vmpi class as the Vmpi structure. │ │ │ │ │ +typedef struct _s_V_c_o_m  _V_c_o_m │ │ │ │ │ +  Declaration of the Vcom class as the Vcom structure │ │ │ │ │ + │ │ │ │ │   │ │ │ │ │ FFuunnccttiioonnss │ │ │ │ │ - int  _V_m_p_i___i_n_i_t (int *argc, char ***argv) │ │ │ │ │ + int  _V_c_o_m___i_n_i_t (int *argc, char ***argv) │ │ │ │ │   The Vmp initializer. │ │ │ │ │   │ │ │ │ │ - int  _V_m_p_i___f_i_n_a_l_i_z_e (void) │ │ │ │ │ + int  _V_c_o_m___f_i_n_a_l_i_z_e (void) │ │ │ │ │   The Vmp finalizer. │ │ │ │ │   │ │ │ │ │ -_V_m_p_i *  _V_m_p_i___c_t_o_r (void) │ │ │ │ │ -  The Vmpi constructor. │ │ │ │ │ -  │ │ │ │ │ - void  _V_m_p_i___d_t_o_r (_V_m_p_i **thee) │ │ │ │ │ -  The Vmpi destructor. │ │ │ │ │ -  │ │ │ │ │ - int  _V_m_p_i___r_a_n_k (_V_m_p_i *thee) │ │ │ │ │ -  Return my processor ID. │ │ │ │ │ - │ │ │ │ │ -  │ │ │ │ │ - int  _V_m_p_i___s_i_z_e (_V_m_p_i *thee) │ │ │ │ │ -  Return the number of processors involved. │ │ │ │ │ -  │ │ │ │ │ - int  _V_m_p_i___b_a_r_r (_V_m_p_i *thee) │ │ │ │ │ -  An MPI barrier. │ │ │ │ │ - │ │ │ │ │ -  │ │ │ │ │ - int  _V_m_p_i___s_e_n_d (_V_m_p_i *thee, int des, char *buf, int bufsize) │ │ │ │ │ -  An MPI blocking send. │ │ │ │ │ -  │ │ │ │ │ - int  _V_m_p_i___r_e_c_v (_V_m_p_i *thee, int src, char *buf, int bufsize) │ │ │ │ │ -  An MPI blocking receive. │ │ │ │ │ -  │ │ │ │ │ - int  _V_m_p_i___b_c_a_s_t (_V_m_p_i *thee, char *buf, int bufsize) │ │ │ │ │ -  An MPI broadcast. │ │ │ │ │ +_V_c_o_m *  _V_c_o_m___c_t_o_r (int commtype) │ │ │ │ │ +  Construct the communications object. This routine sets up data members │ │ │ │ │ + of class and initializes MPI. │ │ │ │ │ +  │ │ │ │ │ + int  _V_c_o_m___c_t_o_r_2 (_V_c_o_m *thee, int commtype) │ │ │ │ │ + Construct the communications object. This routine sets up data members │ │ │ │ │ +  of class and initializes MPI. This is broken into two parts to be │ │ │ │ │ + callable from FORTRAN. │ │ │ │ │ +  │ │ │ │ │ + void  _V_c_o_m___d_t_o_r (_V_c_o_m **thee) │ │ │ │ │ +  Destroy the communications object. │ │ │ │ │ +  │ │ │ │ │ + void  _V_c_o_m___d_t_o_r_2 (_V_c_o_m *thee) │ │ │ │ │ +  Destroy the communications object. This is broken into two parts to be │ │ │ │ │ + callable from FORTRAN. │ │ │ │ │ +  │ │ │ │ │ + int  _V_c_o_m___s_e_n_d (_V_c_o_m *thee, int des, void *buf, int len, int type, int │ │ │ │ │ + block) │ │ │ │ │ +  Send a buffer. Returns 1 on success. │ │ │ │ │ +  │ │ │ │ │ + int  _V_c_o_m___r_e_c_v (_V_c_o_m *thee, int src, void *buf, int len, int type, int │ │ │ │ │ + block) │ │ │ │ │ + Receive a (character) buffer. │ │ │ │ │ +  The blocking flag is present, but not used. All receives are assumed to │ │ │ │ │ + be blocking. A non-blocking receive would be vveerryy ugly to implement │ │ │ │ │ + (signals or something?). │ │ │ │ │ +  │ │ │ │ │ + int  _V_c_o_m___g_e_t_C_o_u_n_t (_V_c_o_m *thee, int src, int *length, int type) │ │ │ │ │ + Perform a blocking probe to get the length (in number of items of │ │ │ │ │ +  specified type) of an incoming message and place it in the │ │ │ │ │ + argument ``length". │ │ │ │ │ +  │ │ │ │ │ + int  _V_c_o_m___r_e_d_u_c_e (_V_c_o_m *thee, void *sendbuf, void *recvbuf, int length, int │ │ │ │ │ + type, int op) │ │ │ │ │ + Perform a reduction of the data across all processors. This is │ │ │ │ │ + equivalent (and in the case of MPI is identical to) MPI_Allreduce. │ │ │ │ │ +  Basically, the specified operations are appleed to each member of │ │ │ │ │ + the sendbuf across all processors and the results are written to │ │ │ │ │ + recvbuf. │ │ │ │ │ +  │ │ │ │ │ + int  _V_c_o_m___s_i_z_e (_V_c_o_m *thee) │ │ │ │ │ +  Get the number of PEs in communicator. │ │ │ │ │ +  │ │ │ │ │ + int  _V_c_o_m___r_e_s_i_z_e (_V_c_o_m *thee, int newsize) │ │ │ │ │ + Resize (shrink) the communications group to include only newsize number │ │ │ │ │ +  of processors. │ │ │ │ │ + Obsolete processes are given rank of -1 and size of 0. │ │ │ │ │   │ │ │ │ │ - int  _V_m_p_i___r_e_d_u_c_e (_V_m_p_i *thee, char *sbuf, char *rbuf, int bufsize) │ │ │ │ │ -  An MPI reduce. │ │ │ │ │ + int  _V_c_o_m___r_a_n_k (_V_c_o_m *thee) │ │ │ │ │ +  Get the ID of the local PE │ │ │ │ │ │ │ │ │ │   │ │ │ │ │ - int  _V_m_p_i___i_s_e_n_d (_V_m_p_i *thee, int des, char *buf, int bufsize) │ │ │ │ │ -  An MPI non-blocking send. │ │ │ │ │ + int  _V_c_o_m___b_a_r_r (_V_c_o_m *thee) │ │ │ │ │ +  Synchronization barrier. │ │ │ │ │   │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ -Class Vmpi: a Virtual MPI communication layer object. │ │ │ │ │ - Author │ │ │ │ │ - Michael Holst │ │ │ │ │ +Class Vcom: virtual (currently just MPI) communications layer. │ │ │ │ │ + Authors │ │ │ │ │ + Nathan Baker and Michael Holst │ │ │ │ │ Note │ │ │ │ │ None │ │ │ │ │ Version │ │ │ │ │ Id │ │ │ │ │ - _v_m_p_i_._h,v 1.29 2010/08/12 05:40:23 fetk Exp │ │ │ │ │ + _v_c_o_m_._h,v 1.38 2010/08/12 05:40:23 fetk Exp │ │ │ │ │ Attention │ │ │ │ │ * │ │ │ │ │ * MALOC = < Minimal Abstraction Layer for Object-oriented C > │ │ │ │ │ * Copyright (C) 1994-- Michael Holst │ │ │ │ │ * │ │ │ │ │ * This library is free software; you can redistribute it and/or │ │ │ │ │ * modify it under the terms of the GNU Lesser General Public │ │ │ │ │ @@ -84,9 +111,13 @@ │ │ │ │ │ * Lesser General Public License for more details. │ │ │ │ │ * │ │ │ │ │ * You should have received a copy of the GNU Lesser General Public │ │ │ │ │ * License along with this library; if not, write to the Free Software │ │ │ │ │ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA │ │ │ │ │ * │ │ │ │ │ * │ │ │ │ │ +********** MMaaccrroo DDeeffiinniittiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ +********** _?◆_? VVCCOOMM__MMPPII__TTAAGG ********** │ │ │ │ │ +#define VCOM_MPI_TAG   111 │ │ │ │ │ +A base value for MPI tags. │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00008_source.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vmpi.h Source File │ │ │ │ +MALOC: vcom.h Source File │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -44,94 +44,114 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
vmpi.h
│ │ │ │ +
vcom.h
│ │ │ │
│ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │ -
38#ifndef _VMPI_H_
│ │ │ │ -
39#define _VMPI_H_
│ │ │ │ +
38#ifndef _VCOM_H_
│ │ │ │ +
39#define _VCOM_H_
│ │ │ │
40
│ │ │ │
41#include <maloc/maloc_base.h>
│ │ │ │
42
│ │ │ │ -
43#include <maloc/vsys.h>
│ │ │ │ +
43#include <maloc/vsys.h>
│ │ │ │
44
│ │ │ │ -
45/*
│ │ │ │ -
46 * ***************************************************************************
│ │ │ │ -
47 * Class Vmpi: Parameters and datatypes
│ │ │ │ -
48 * ***************************************************************************
│ │ │ │ -
49 */
│ │ │ │ -
50
│ │ │ │ -
51
│ │ │ │ -
│ │ │ │ -
57struct sVmpi {
│ │ │ │ - │ │ │ │ - │ │ │ │ -
60};
│ │ │ │ -
│ │ │ │ +
46#define VCOM_MPI_TAG 111
│ │ │ │ +
47
│ │ │ │ +
48/*
│ │ │ │ +
49 * ***************************************************************************
│ │ │ │ +
50 * Class Vcom: Parameters and datatypes
│ │ │ │ +
51 * ***************************************************************************
│ │ │ │ +
52 */
│ │ │ │ +
53
│ │ │ │ +
│ │ │ │ +
60struct sVcom {
│ │ │ │
61
│ │ │ │ -
67typedef struct sVmpi Vmpi;
│ │ │ │ -
68
│ │ │ │ -
69/*
│ │ │ │ -
70 * ***************************************************************************
│ │ │ │ -
71 * Class Vmpi: Inlineable methods (vmpi.c)
│ │ │ │ -
72 * ***************************************************************************
│ │ │ │ -
73 */
│ │ │ │ -
74
│ │ │ │ -
75#if !defined(VINLINE_MALOC)
│ │ │ │ -
76#else /* if defined(VINLINE_MALOC) */
│ │ │ │ -
77#endif /* if !defined(VINLINE_MALOC) */
│ │ │ │ + │ │ │ │ + │ │ │ │ +
66
│ │ │ │ +
71 int type;
│ │ │ │ +
73 int error;
│ │ │ │ +
75 void *core;
│ │ │ │ +
76
│ │ │ │ +
77};
│ │ │ │ +
│ │ │ │
78
│ │ │ │ -
88int Vmpi_init(int *argc, char ***argv);
│ │ │ │ -
89
│ │ │ │ -
97int Vmpi_finalize(void);
│ │ │ │ -
98
│ │ │ │ - │ │ │ │ -
107
│ │ │ │ -
116void Vmpi_dtor(Vmpi **thee);
│ │ │ │ +
85typedef struct sVcom Vcom;
│ │ │ │ +
86
│ │ │ │ +
87/*
│ │ │ │ +
88 * ***************************************************************************
│ │ │ │ +
89 * Class Vcom: Inlineable methods (vcom.c)
│ │ │ │ +
90 * ***************************************************************************
│ │ │ │ +
91 */
│ │ │ │ +
92
│ │ │ │ +
93#if !defined(VINLINE_MALOC)
│ │ │ │ +
94#else /* if defined(VINLINE_MALOC) */
│ │ │ │ +
95#endif /* if !defined(VINLINE_MALOC) */
│ │ │ │ +
96
│ │ │ │ +
97
│ │ │ │ +
107int Vcom_init(int *argc, char ***argv);
│ │ │ │ +
108
│ │ │ │ + │ │ │ │
117
│ │ │ │ -
126int Vmpi_rank(Vmpi *thee);
│ │ │ │ -
127
│ │ │ │ -
136int Vmpi_size(Vmpi *thee);
│ │ │ │ -
137
│ │ │ │ -
146int Vmpi_barr(Vmpi *thee);
│ │ │ │ -
147
│ │ │ │ -
159int Vmpi_send(Vmpi *thee, int des, char *buf, int bufsize);
│ │ │ │ -
160
│ │ │ │ -
172int Vmpi_recv(Vmpi *thee, int src, char *buf, int bufsize);
│ │ │ │ -
173
│ │ │ │ -
184int Vmpi_bcast(Vmpi *thee, char *buf, int bufsize);
│ │ │ │ -
185
│ │ │ │ -
197int Vmpi_reduce(Vmpi *thee, char *sbuf, char *rbuf, int bufsize);
│ │ │ │ -
198
│ │ │ │ -
210int Vmpi_isend(Vmpi *thee, int des, char *buf, int bufsize);
│ │ │ │ -
211
│ │ │ │ -
212#endif /* _VMPI_H_ */
│ │ │ │ -
213
│ │ │ │ +
127Vcom* Vcom_ctor(int commtype);
│ │ │ │ +
128
│ │ │ │ +
140int Vcom_ctor2(Vcom* thee, int commtype);
│ │ │ │ +
141
│ │ │ │ +
150void Vcom_dtor(Vcom **thee);
│ │ │ │ +
151
│ │ │ │ +
161void Vcom_dtor2(Vcom *thee);
│ │ │ │ +
162
│ │ │ │ +
177int Vcom_send(Vcom *thee, int des, void *buf, int len, int type,
│ │ │ │ +
178 int block);
│ │ │ │ +
179
│ │ │ │ +
197int Vcom_recv(Vcom *thee, int src, void *buf, int len, int type,
│ │ │ │ +
198 int block);
│ │ │ │ +
199
│ │ │ │ +
214int Vcom_getCount(Vcom *thee, int src, int *length, int type);
│ │ │ │ +
215
│ │ │ │ +
237int Vcom_reduce(Vcom *thee, void *sendbuf, void *recvbuf, int length,
│ │ │ │ +
238 int type, int op);
│ │ │ │ +
239
│ │ │ │ +
248int Vcom_size(Vcom *thee);
│ │ │ │ +
249
│ │ │ │ +
261int Vcom_resize(Vcom *thee, int newsize);
│ │ │ │ +
262
│ │ │ │ +
271int Vcom_rank(Vcom *thee);
│ │ │ │ +
272
│ │ │ │ +
281int Vcom_barr(Vcom *thee);
│ │ │ │ +
282
│ │ │ │ +
283#endif /* _VCOM_H_ */
│ │ │ │ +
284
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │ -
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │ -
int Vmpi_init(int *argc, char ***argv)
The Vmp initializer.
│ │ │ │ -
int Vmpi_finalize(void)
The Vmp finalizer.
│ │ │ │ -
int Vmpi_size(Vmpi *thee)
Return the number of processors involved.
│ │ │ │ -
int Vmpi_reduce(Vmpi *thee, char *sbuf, char *rbuf, int bufsize)
An MPI reduce.
│ │ │ │ -
int Vmpi_recv(Vmpi *thee, int src, char *buf, int bufsize)
An MPI blocking receive.
│ │ │ │ -
int Vmpi_isend(Vmpi *thee, int des, char *buf, int bufsize)
An MPI non-blocking send.
│ │ │ │ -
void Vmpi_dtor(Vmpi **thee)
The Vmpi destructor.
│ │ │ │ -
int Vmpi_send(Vmpi *thee, int des, char *buf, int bufsize)
An MPI blocking send.
│ │ │ │ -
Vmpi * Vmpi_ctor(void)
The Vmpi constructor.
│ │ │ │ -
int Vmpi_barr(Vmpi *thee)
An MPI barrier.
│ │ │ │ -
int Vmpi_bcast(Vmpi *thee, char *buf, int bufsize)
An MPI broadcast.
│ │ │ │ -
int Vmpi_rank(Vmpi *thee)
Return my processor ID.
│ │ │ │ -
Class Vmpi: Definition.
Definition vmpi.h:57
│ │ │ │ -
int mpi_rank
Definition vmpi.h:58
│ │ │ │ -
int mpi_size
Definition vmpi.h:59
│ │ │ │ +
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │ +
int Vcom_rank(Vcom *thee)
Get the ID of the local PE
│ │ │ │ +
int Vcom_resize(Vcom *thee, int newsize)
Resize (shrink) the communications group to include only newsize number of processors....
│ │ │ │ +
int Vcom_ctor2(Vcom *thee, int commtype)
Construct the communications object. This routine sets up data members of class and initializes MPI....
│ │ │ │ +
int Vcom_size(Vcom *thee)
Get the number of PEs in communicator.
│ │ │ │ +
int Vcom_reduce(Vcom *thee, void *sendbuf, void *recvbuf, int length, int type, int op)
Perform a reduction of the data across all processors. This is equivalent (and in the case of MPI is ...
│ │ │ │ +
Vcom * Vcom_ctor(int commtype)
Construct the communications object. This routine sets up data members of class and initializes MPI.
│ │ │ │ +
int Vcom_init(int *argc, char ***argv)
The Vmp initializer.
│ │ │ │ +
int Vcom_finalize(void)
The Vmp finalizer.
│ │ │ │ +
int Vcom_barr(Vcom *thee)
Synchronization barrier.
│ │ │ │ +
void Vcom_dtor(Vcom **thee)
Destroy the communications object.
│ │ │ │ +
int Vcom_recv(Vcom *thee, int src, void *buf, int len, int type, int block)
Receive a (character) buffer. The blocking flag is present, but not used. All receives are assumed ...
│ │ │ │ +
int Vcom_getCount(Vcom *thee, int src, int *length, int type)
Perform a blocking probe to get the length (in number of items of specified type) of an incoming mess...
│ │ │ │ +
int Vcom_send(Vcom *thee, int des, void *buf, int len, int type, int block)
Send a buffer. Returns 1 on success.
│ │ │ │ +
void Vcom_dtor2(Vcom *thee)
Destroy the communications object. This is broken into two parts to be callable from FORTRAN.
│ │ │ │ +
Contains public data members for Vcom class.
Definition vcom.h:60
│ │ │ │ +
int type
Communication type. 0 = not initialized 1 = Message Passing Interface 1.1.
Definition vcom.h:71
│ │ │ │ +
int error
note if any error has occurred on this vcom device
Definition vcom.h:73
│ │ │ │ +
int mpi_size
Total number of PEs in this communicator from MPI.
Definition vcom.h:65
│ │ │ │ +
void * core
Private MPI core.
Definition vcom.h:75
│ │ │ │ +
int mpi_rank
Local PE rank from MPI.
Definition vcom.h:63
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,119 +1,162 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _p_s_h │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -vmpi.h │ │ │ │ │ +vcom.h │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _d_o_c_u_m_e_n_t_a_t_i_o_n_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ 1 │ │ │ │ │ -38#ifndef _VMPI_H_ │ │ │ │ │ -39#define _VMPI_H_ │ │ │ │ │ +38#ifndef _VCOM_H_ │ │ │ │ │ +39#define _VCOM_H_ │ │ │ │ │ 40 │ │ │ │ │ 41#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ 42 │ │ │ │ │ 43#include <_m_a_l_o_c_/_v_s_y_s_._h> │ │ │ │ │ 44 │ │ │ │ │ -45/* │ │ │ │ │ -46 * │ │ │ │ │ +_4_6#define VCOM_MPI_TAG 111 │ │ │ │ │ +47 │ │ │ │ │ +48/* │ │ │ │ │ +49 * │ │ │ │ │ *************************************************************************** │ │ │ │ │ -47 * Class Vmpi: Parameters and datatypes │ │ │ │ │ -48 * │ │ │ │ │ +50 * Class Vcom: Parameters and datatypes │ │ │ │ │ +51 * │ │ │ │ │ *************************************************************************** │ │ │ │ │ -49 */ │ │ │ │ │ -50 │ │ │ │ │ -51 │ │ │ │ │ -_5_7struct _s_V_m_p_i { │ │ │ │ │ -_5_8 int _m_p_i___r_a_n_k; │ │ │ │ │ -_5_9 int _m_p_i___s_i_z_e; │ │ │ │ │ -60}; │ │ │ │ │ +52 */ │ │ │ │ │ +53 │ │ │ │ │ +_6_0struct _s_V_c_o_m { │ │ │ │ │ 61 │ │ │ │ │ -_6_7typedef struct _s_V_m_p_i _V_m_p_i; │ │ │ │ │ -68 │ │ │ │ │ -69/* │ │ │ │ │ -70 * │ │ │ │ │ +_6_3 int _m_p_i___r_a_n_k; │ │ │ │ │ +_6_5 int _m_p_i___s_i_z_e; │ │ │ │ │ +66 │ │ │ │ │ +_7_1 int _t_y_p_e; │ │ │ │ │ +_7_3 int _e_r_r_o_r; │ │ │ │ │ +_7_5 void *_c_o_r_e; │ │ │ │ │ +76 │ │ │ │ │ +77}; │ │ │ │ │ +78 │ │ │ │ │ +_8_5typedef struct _s_V_c_o_m _V_c_o_m; │ │ │ │ │ +86 │ │ │ │ │ +87/* │ │ │ │ │ +88 * │ │ │ │ │ *************************************************************************** │ │ │ │ │ -71 * Class Vmpi: Inlineable methods (vmpi.c) │ │ │ │ │ -72 * │ │ │ │ │ +89 * Class Vcom: Inlineable methods (vcom.c) │ │ │ │ │ +90 * │ │ │ │ │ *************************************************************************** │ │ │ │ │ -73 */ │ │ │ │ │ -74 │ │ │ │ │ -75#if !defined(VINLINE_MALOC) │ │ │ │ │ -76#else /* if defined(VINLINE_MALOC) */ │ │ │ │ │ -77#endif /* if !defined(VINLINE_MALOC) */ │ │ │ │ │ -78 │ │ │ │ │ -_8_8int _V_m_p_i___i_n_i_t(int *argc, char ***argv); │ │ │ │ │ -89 │ │ │ │ │ -_9_7int _V_m_p_i___f_i_n_a_l_i_z_e(void); │ │ │ │ │ -98 │ │ │ │ │ -_1_0_6_V_m_p_i* _V_m_p_i___c_t_o_r(void); │ │ │ │ │ -107 │ │ │ │ │ -_1_1_6void _V_m_p_i___d_t_o_r(_V_m_p_i **thee); │ │ │ │ │ +91 */ │ │ │ │ │ +92 │ │ │ │ │ +93#if !defined(VINLINE_MALOC) │ │ │ │ │ +94#else /* if defined(VINLINE_MALOC) */ │ │ │ │ │ +95#endif /* if !defined(VINLINE_MALOC) */ │ │ │ │ │ +96 │ │ │ │ │ +97 │ │ │ │ │ +_1_0_7int _V_c_o_m___i_n_i_t(int *argc, char ***argv); │ │ │ │ │ +108 │ │ │ │ │ +_1_1_6int _V_c_o_m___f_i_n_a_l_i_z_e(void); │ │ │ │ │ 117 │ │ │ │ │ -_1_2_6int _V_m_p_i___r_a_n_k(_V_m_p_i *thee); │ │ │ │ │ -127 │ │ │ │ │ -_1_3_6int _V_m_p_i___s_i_z_e(_V_m_p_i *thee); │ │ │ │ │ -137 │ │ │ │ │ -_1_4_6int _V_m_p_i___b_a_r_r(_V_m_p_i *thee); │ │ │ │ │ -147 │ │ │ │ │ -_1_5_9int _V_m_p_i___s_e_n_d(_V_m_p_i *thee, int des, char *buf, int bufsize); │ │ │ │ │ -160 │ │ │ │ │ -_1_7_2int _V_m_p_i___r_e_c_v(_V_m_p_i *thee, int src, char *buf, int bufsize); │ │ │ │ │ -173 │ │ │ │ │ -_1_8_4int _V_m_p_i___b_c_a_s_t(_V_m_p_i *thee, char *buf, int bufsize); │ │ │ │ │ -185 │ │ │ │ │ -_1_9_7int _V_m_p_i___r_e_d_u_c_e(_V_m_p_i *thee, char *sbuf, char *rbuf, int bufsize); │ │ │ │ │ -198 │ │ │ │ │ -_2_1_0int _V_m_p_i___i_s_e_n_d(_V_m_p_i *thee, int des, char *buf, int bufsize); │ │ │ │ │ -211 │ │ │ │ │ -212#endif /* _VMPI_H_ */ │ │ │ │ │ -213 │ │ │ │ │ +_1_2_7_V_c_o_m* _V_c_o_m___c_t_o_r(int commtype); │ │ │ │ │ +128 │ │ │ │ │ +_1_4_0int _V_c_o_m___c_t_o_r_2(_V_c_o_m* thee, int commtype); │ │ │ │ │ +141 │ │ │ │ │ +_1_5_0void _V_c_o_m___d_t_o_r(_V_c_o_m **thee); │ │ │ │ │ +151 │ │ │ │ │ +_1_6_1void _V_c_o_m___d_t_o_r_2(_V_c_o_m *thee); │ │ │ │ │ +162 │ │ │ │ │ +_1_7_7int _V_c_o_m___s_e_n_d(_V_c_o_m *thee, int des, void *buf, int len, int _t_y_p_e, │ │ │ │ │ +178 int block); │ │ │ │ │ +179 │ │ │ │ │ +_1_9_7int _V_c_o_m___r_e_c_v(_V_c_o_m *thee, int src, void *buf, int len, int _t_y_p_e, │ │ │ │ │ +198 int block); │ │ │ │ │ +199 │ │ │ │ │ +_2_1_4int _V_c_o_m___g_e_t_C_o_u_n_t(_V_c_o_m *thee, int src, int *length, int _t_y_p_e); │ │ │ │ │ +215 │ │ │ │ │ +_2_3_7int _V_c_o_m___r_e_d_u_c_e(_V_c_o_m *thee, void *sendbuf, void *recvbuf, int length, │ │ │ │ │ +238 int _t_y_p_e, int op); │ │ │ │ │ +239 │ │ │ │ │ +_2_4_8int _V_c_o_m___s_i_z_e(_V_c_o_m *thee); │ │ │ │ │ +249 │ │ │ │ │ +_2_6_1int _V_c_o_m___r_e_s_i_z_e(_V_c_o_m *thee, int newsize); │ │ │ │ │ +262 │ │ │ │ │ +_2_7_1int _V_c_o_m___r_a_n_k(_V_c_o_m *thee); │ │ │ │ │ +272 │ │ │ │ │ +_2_8_1int _V_c_o_m___b_a_r_r(_V_c_o_m *thee); │ │ │ │ │ +282 │ │ │ │ │ +283#endif /* _VCOM_H_ */ │ │ │ │ │ +284 │ │ │ │ │ _m_a_l_o_c___b_a_s_e_._h │ │ │ │ │ The base (or foundation) header for MALOC. │ │ │ │ │ _v_s_y_s_._h │ │ │ │ │ The primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │ │ -_V_m_p_i___i_n_i_t │ │ │ │ │ -int Vmpi_init(int *argc, char ***argv) │ │ │ │ │ +_V_c_o_m___r_a_n_k │ │ │ │ │ +int Vcom_rank(Vcom *thee) │ │ │ │ │ +Get the ID of the local PE │ │ │ │ │ +_V_c_o_m___r_e_s_i_z_e │ │ │ │ │ +int Vcom_resize(Vcom *thee, int newsize) │ │ │ │ │ +Resize (shrink) the communications group to include only newsize number of │ │ │ │ │ +processors.... │ │ │ │ │ +_V_c_o_m___c_t_o_r_2 │ │ │ │ │ +int Vcom_ctor2(Vcom *thee, int commtype) │ │ │ │ │ +Construct the communications object. This routine sets up data members of class │ │ │ │ │ +and initializes MPI.... │ │ │ │ │ +_V_c_o_m___s_i_z_e │ │ │ │ │ +int Vcom_size(Vcom *thee) │ │ │ │ │ +Get the number of PEs in communicator. │ │ │ │ │ +_V_c_o_m___r_e_d_u_c_e │ │ │ │ │ +int Vcom_reduce(Vcom *thee, void *sendbuf, void *recvbuf, int length, int type, │ │ │ │ │ +int op) │ │ │ │ │ +Perform a reduction of the data across all processors. This is equivalent (and │ │ │ │ │ +in the case of MPI is ... │ │ │ │ │ +_V_c_o_m___c_t_o_r │ │ │ │ │ +Vcom * Vcom_ctor(int commtype) │ │ │ │ │ +Construct the communications object. This routine sets up data members of class │ │ │ │ │ +and initializes MPI. │ │ │ │ │ +_V_c_o_m___i_n_i_t │ │ │ │ │ +int Vcom_init(int *argc, char ***argv) │ │ │ │ │ The Vmp initializer. │ │ │ │ │ -_V_m_p_i___f_i_n_a_l_i_z_e │ │ │ │ │ -int Vmpi_finalize(void) │ │ │ │ │ +_V_c_o_m___f_i_n_a_l_i_z_e │ │ │ │ │ +int Vcom_finalize(void) │ │ │ │ │ The Vmp finalizer. │ │ │ │ │ -_V_m_p_i___s_i_z_e │ │ │ │ │ -int Vmpi_size(Vmpi *thee) │ │ │ │ │ -Return the number of processors involved. │ │ │ │ │ -_V_m_p_i___r_e_d_u_c_e │ │ │ │ │ -int Vmpi_reduce(Vmpi *thee, char *sbuf, char *rbuf, int bufsize) │ │ │ │ │ -An MPI reduce. │ │ │ │ │ -_V_m_p_i___r_e_c_v │ │ │ │ │ -int Vmpi_recv(Vmpi *thee, int src, char *buf, int bufsize) │ │ │ │ │ -An MPI blocking receive. │ │ │ │ │ -_V_m_p_i___i_s_e_n_d │ │ │ │ │ -int Vmpi_isend(Vmpi *thee, int des, char *buf, int bufsize) │ │ │ │ │ -An MPI non-blocking send. │ │ │ │ │ -_V_m_p_i___d_t_o_r │ │ │ │ │ -void Vmpi_dtor(Vmpi **thee) │ │ │ │ │ -The Vmpi destructor. │ │ │ │ │ -_V_m_p_i___s_e_n_d │ │ │ │ │ -int Vmpi_send(Vmpi *thee, int des, char *buf, int bufsize) │ │ │ │ │ -An MPI blocking send. │ │ │ │ │ -_V_m_p_i___c_t_o_r │ │ │ │ │ -Vmpi * Vmpi_ctor(void) │ │ │ │ │ -The Vmpi constructor. │ │ │ │ │ -_V_m_p_i___b_a_r_r │ │ │ │ │ -int Vmpi_barr(Vmpi *thee) │ │ │ │ │ -An MPI barrier. │ │ │ │ │ -_V_m_p_i___b_c_a_s_t │ │ │ │ │ -int Vmpi_bcast(Vmpi *thee, char *buf, int bufsize) │ │ │ │ │ -An MPI broadcast. │ │ │ │ │ -_V_m_p_i___r_a_n_k │ │ │ │ │ -int Vmpi_rank(Vmpi *thee) │ │ │ │ │ -Return my processor ID. │ │ │ │ │ -_s_V_m_p_i │ │ │ │ │ -Class Vmpi: Definition. │ │ │ │ │ -DDeeffiinniittiioonn vmpi.h:57 │ │ │ │ │ -_s_V_m_p_i_:_:_m_p_i___r_a_n_k │ │ │ │ │ -int mpi_rank │ │ │ │ │ -DDeeffiinniittiioonn vmpi.h:58 │ │ │ │ │ -_s_V_m_p_i_:_:_m_p_i___s_i_z_e │ │ │ │ │ +_V_c_o_m___b_a_r_r │ │ │ │ │ +int Vcom_barr(Vcom *thee) │ │ │ │ │ +Synchronization barrier. │ │ │ │ │ +_V_c_o_m___d_t_o_r │ │ │ │ │ +void Vcom_dtor(Vcom **thee) │ │ │ │ │ +Destroy the communications object. │ │ │ │ │ +_V_c_o_m___r_e_c_v │ │ │ │ │ +int Vcom_recv(Vcom *thee, int src, void *buf, int len, int type, int block) │ │ │ │ │ +Receive a (character) buffer. The blocking flag is present, but not used. All │ │ │ │ │ +receives are assumed ... │ │ │ │ │ +_V_c_o_m___g_e_t_C_o_u_n_t │ │ │ │ │ +int Vcom_getCount(Vcom *thee, int src, int *length, int type) │ │ │ │ │ +Perform a blocking probe to get the length (in number of items of specified │ │ │ │ │ +type) of an incoming mess... │ │ │ │ │ +_V_c_o_m___s_e_n_d │ │ │ │ │ +int Vcom_send(Vcom *thee, int des, void *buf, int len, int type, int block) │ │ │ │ │ +Send a buffer. Returns 1 on success. │ │ │ │ │ +_V_c_o_m___d_t_o_r_2 │ │ │ │ │ +void Vcom_dtor2(Vcom *thee) │ │ │ │ │ +Destroy the communications object. This is broken into two parts to be callable │ │ │ │ │ +from FORTRAN. │ │ │ │ │ +_s_V_c_o_m │ │ │ │ │ +Contains public data members for Vcom class. │ │ │ │ │ +DDeeffiinniittiioonn vcom.h:60 │ │ │ │ │ +_s_V_c_o_m_:_:_t_y_p_e │ │ │ │ │ +int type │ │ │ │ │ +Communication type. 0 = not initialized 1 = Message Passing Interface 1.1. │ │ │ │ │ +DDeeffiinniittiioonn vcom.h:71 │ │ │ │ │ +_s_V_c_o_m_:_:_e_r_r_o_r │ │ │ │ │ +int error │ │ │ │ │ +note if any error has occurred on this vcom device │ │ │ │ │ +DDeeffiinniittiioonn vcom.h:73 │ │ │ │ │ +_s_V_c_o_m_:_:_m_p_i___s_i_z_e │ │ │ │ │ int mpi_size │ │ │ │ │ -DDeeffiinniittiioonn vmpi.h:59 │ │ │ │ │ +Total number of PEs in this communicator from MPI. │ │ │ │ │ +DDeeffiinniittiioonn vcom.h:65 │ │ │ │ │ +_s_V_c_o_m_:_:_c_o_r_e │ │ │ │ │ +void * core │ │ │ │ │ +Private MPI core. │ │ │ │ │ +DDeeffiinniittiioonn vcom.h:75 │ │ │ │ │ +_s_V_c_o_m_:_:_m_p_i___r_a_n_k │ │ │ │ │ +int mpi_rank │ │ │ │ │ +Local PE rank from MPI. │ │ │ │ │ +DDeeffiinniittiioonn vcom.h:63 │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00009.dot.gz │ │ │ │ ├── a00009.dot │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ -digraph "vmpi.h" │ │ │ │ │ +digraph "vcom.h" │ │ │ │ │ { │ │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ │ bgcolor="transparent"; │ │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ │ - Node1 [id="Node000001",label="vmpi.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ + Node1 [id="Node000001",label="vcom.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node2 [id="Node000002",label="maloc/maloc_base.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00002.html",tooltip="The base (or foundation) header for MALOC."]; │ │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node3 [id="Node000003",label="assert.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node4 [id="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node4 [id="Node000004",label="ctype.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ @@ -34,28 +34,28 @@ │ │ │ │ │ Node2 -> Node15 [id="edge14_Node000002_Node000015",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node15 [id="Node000015",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node16 [id="edge15_Node000002_Node000016",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ + Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node19 [id="edge19_Node000018_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node19 [id="Node000019",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node20 [id="edge21_Node000018_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node20 -> Node2 [id="edge22_Node000020_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node21 [id="edge23_Node000018_Node000021",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ Node21 -> Node2 [id="edge24_Node000021_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node21 -> Node19 [id="edge25_Node000021_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node22 [id="edge26_Node000018_Node000022",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 [id="Node000022",label="maloc/vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ Node22 -> Node2 [id="edge27_Node000022_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node19 [id="edge28_Node000022_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node20 [id="edge29_Node000022_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node23 [id="edge30_Node000018_Node000023",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ Node23 -> Node2 [id="edge31_Node000023_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00010.dot │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ -digraph "vmpi.h" │ │ │ │ +digraph "vcom.h" │ │ │ │ { │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ bgcolor="transparent"; │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ - Node1 [id="Node000001",label="vmpi.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ + Node1 [id="Node000001",label="vcom.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node2 [id="Node000002",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node3 [id="Node000003",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ Node3 -> Node4 [id="edge3_Node000003_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node4 [id="Node000004",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00011.html │ │ │ │ @@ -50,17 +50,17 @@ │ │ │ │
vmp.h File Reference
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Class Vmp: a Virtual MPI communication layer object. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ -#include <maloc/vsys.h>
│ │ │ │ -#include <maloc/vmpi.h>
│ │ │ │ -#include <maloc/vcom.h>
│ │ │ │ +#include <maloc/vsys.h>
│ │ │ │ +#include <maloc/vmpi.h>
│ │ │ │ +#include <maloc/vcom.h>
│ │ │ │
│ │ │ │ Include dependency graph for vmp.h:
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00011_source.html │ │ │ │ @@ -53,17 +53,17 @@ │ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │
37#ifndef _VMP_H_
│ │ │ │
38#define _VMP_H_
│ │ │ │
39
│ │ │ │
40#include <maloc/maloc_base.h>
│ │ │ │
41
│ │ │ │ -
42#include <maloc/vsys.h>
│ │ │ │ -
43#include <maloc/vmpi.h>
│ │ │ │ -
44#include <maloc/vcom.h>
│ │ │ │ +
42#include <maloc/vsys.h>
│ │ │ │ +
43#include <maloc/vmpi.h>
│ │ │ │ +
44#include <maloc/vcom.h>
│ │ │ │
45
│ │ │ │
46/*
│ │ │ │
47 * ***************************************************************************
│ │ │ │
48 * Class Vmp: Parameters and datatypes
│ │ │ │
49 * ***************************************************************************
│ │ │ │
50 */
│ │ │ │
51
│ │ │ │ @@ -104,17 +104,17 @@ │ │ │ │
161int Vmp_send(Vmp *thee, int des, char *buf, int bufsize);
│ │ │ │
162
│ │ │ │
174int Vmp_recv(Vmp *thee, int src, char *buf, int bufsize);
│ │ │ │
175
│ │ │ │
176#endif /* _VMP_H_ */
│ │ │ │
177
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │ -
Class Vcom: virtual (currently just MPI) communications layer.
│ │ │ │ -
Class Vmpi: a Virtual MPI communication layer object.
│ │ │ │ -
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │ +
Class Vmpi: a Virtual MPI communication layer object.
│ │ │ │ +
Class Vcom: virtual (currently just MPI) communications layer.
│ │ │ │ +
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │
int Vmp_finalize(void)
The Vmp finalizer.
│ │ │ │
int Vmp_send(Vmp *thee, int des, char *buf, int bufsize)
An MPI blocking send.
│ │ │ │
int Vmp_init(int *argc, char ***argv)
The Vmp initializer.
│ │ │ │
int Vmp_rank(Vmp *thee)
Return my processor ID.
│ │ │ │
int Vmp_recv(Vmp *thee, int src, char *buf, int bufsize)
An MPI blocking receive.
│ │ │ │
Vmp * Vmp_ctor(void)
The Vmp constructor.
│ │ │ │
void Vmp_dtor(Vmp **thee)
The Vmp destructor.
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -60,18 +60,18 @@ │ │ │ │ │ 162 │ │ │ │ │ _1_7_4int _V_m_p___r_e_c_v(_V_m_p *thee, int src, char *buf, int bufsize); │ │ │ │ │ 175 │ │ │ │ │ 176#endif /* _VMP_H_ */ │ │ │ │ │ 177 │ │ │ │ │ _m_a_l_o_c___b_a_s_e_._h │ │ │ │ │ The base (or foundation) header for MALOC. │ │ │ │ │ -_v_c_o_m_._h │ │ │ │ │ -Class Vcom: virtual (currently just MPI) communications layer. │ │ │ │ │ _v_m_p_i_._h │ │ │ │ │ Class Vmpi: a Virtual MPI communication layer object. │ │ │ │ │ +_v_c_o_m_._h │ │ │ │ │ +Class Vcom: virtual (currently just MPI) communications layer. │ │ │ │ │ _v_s_y_s_._h │ │ │ │ │ The primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │ │ _V_m_p___f_i_n_a_l_i_z_e │ │ │ │ │ int Vmp_finalize(void) │ │ │ │ │ The Vmp finalizer. │ │ │ │ │ _V_m_p___s_e_n_d │ │ │ │ │ int Vmp_send(Vmp *thee, int des, char *buf, int bufsize) │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00012.dot.gz │ │ │ │ ├── a00012.dot │ │ │ │ │ @@ -34,36 +34,36 @@ │ │ │ │ │ Node2 -> Node15 [id="edge14_Node000002_Node000015",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node15 [id="Node000015",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node16 [id="edge15_Node000002_Node000016",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ + Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node19 [id="edge19_Node000018_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node19 [id="Node000019",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node20 [id="edge21_Node000018_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node20 -> Node2 [id="edge22_Node000020_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node21 [id="edge23_Node000018_Node000021",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ Node21 -> Node2 [id="edge24_Node000021_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node21 -> Node19 [id="edge25_Node000021_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node22 [id="edge26_Node000018_Node000022",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 [id="Node000022",label="maloc/vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ Node22 -> Node2 [id="edge27_Node000022_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node19 [id="edge28_Node000022_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node20 [id="edge29_Node000022_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node23 [id="edge30_Node000018_Node000023",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ Node23 -> Node2 [id="edge31_Node000023_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node24 [id="edge32_Node000001_Node000024",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node24 [id="Node000024",label="maloc/vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ + Node24 [id="Node000024",label="maloc/vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ Node24 -> Node2 [id="edge33_Node000024_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node24 -> Node18 [id="edge34_Node000024_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node25 [id="edge35_Node000001_Node000025",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node25 [id="Node000025",label="maloc/vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ + Node25 [id="Node000025",label="maloc/vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ Node25 -> Node2 [id="edge36_Node000025_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node25 -> Node18 [id="edge37_Node000025_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00014.html │ │ │ │ @@ -48,15 +48,15 @@ │ │ │ │
psh.h File Reference
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

Header file for a simple parallel extension of ALOC's VSH. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ -#include <maloc/vsys.h>
│ │ │ │ +#include <maloc/vsys.h>
│ │ │ │ #include <maloc/vsh.h>
│ │ │ │ #include <maloc/vmp.h>
│ │ │ │
│ │ │ │ Include dependency graph for psh.h:
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00014_source.html │ │ │ │ @@ -53,27 +53,27 @@ │ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │
32#ifndef _PSH_H_
│ │ │ │
33#define _PSH_H_
│ │ │ │
34
│ │ │ │
35#include <maloc/maloc_base.h>
│ │ │ │
36
│ │ │ │ -
37#include <maloc/vsys.h>
│ │ │ │ +
37#include <maloc/vsys.h>
│ │ │ │
38#include <maloc/vsh.h>
│ │ │ │
39#include <maloc/vmp.h>
│ │ │ │
40
│ │ │ │
52int Vsh_pshell(Vsh *thee, char *pPR, void *pthee,
│ │ │ │
53 int (*builtin)(void *thee, int argc, char **argv));
│ │ │ │
54
│ │ │ │
55#endif /* _PSH_H_ */
│ │ │ │
56
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │
Class Vmp: a Virtual MPI communication layer object.
│ │ │ │
Header file for vsh, a bourne-compatible shell.
│ │ │ │ -
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │ +
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │
int Vsh_pshell(Vsh *thee, char *pPR, void *pthee, int(*builtin)(void *thee, int argc, char **argv))
Drop-in replacement for Vsh_shell giving parallel extensions.
│ │ │ │
Contains public data members for Vsh class.
Definition vsh.h:56
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00015.dot.gz │ │ │ │ ├── a00015.dot │ │ │ │ │ @@ -34,44 +34,44 @@ │ │ │ │ │ Node2 -> Node15 [id="edge14_Node000002_Node000015",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node15 [id="Node000015",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node16 [id="edge15_Node000002_Node000016",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ + Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node19 [id="edge19_Node000018_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node19 [id="Node000019",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node20 [id="edge21_Node000018_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node20 -> Node2 [id="edge22_Node000020_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node21 [id="edge23_Node000018_Node000021",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ Node21 -> Node2 [id="edge24_Node000021_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node21 -> Node19 [id="edge25_Node000021_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node22 [id="edge26_Node000018_Node000022",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 [id="Node000022",label="maloc/vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ Node22 -> Node2 [id="edge27_Node000022_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node19 [id="edge28_Node000022_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node20 [id="edge29_Node000022_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node23 [id="edge30_Node000018_Node000023",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ Node23 -> Node2 [id="edge31_Node000023_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node24 [id="edge32_Node000001_Node000024",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node24 [id="Node000024",label="maloc/vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ │ Node24 -> Node2 [id="edge33_Node000024_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node24 -> Node18 [id="edge34_Node000024_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node25 [id="edge35_Node000001_Node000025",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node25 [id="Node000025",label="maloc/vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ │ Node25 -> Node2 [id="edge36_Node000025_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node25 -> Node18 [id="edge37_Node000025_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node25 -> Node26 [id="edge38_Node000025_Node000026",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node26 [id="Node000026",label="maloc/vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ + Node26 [id="Node000026",label="maloc/vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ Node26 -> Node2 [id="edge39_Node000026_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node26 -> Node18 [id="edge40_Node000026_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node25 -> Node27 [id="edge41_Node000025_Node000027",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node27 [id="Node000027",label="maloc/vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ + Node27 [id="Node000027",label="maloc/vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ Node27 -> Node2 [id="edge42_Node000027_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node27 -> Node18 [id="edge43_Node000027_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00017.html │ │ │ │ @@ -50,15 +50,15 @@ │ │ │ │
vsh.h File Reference
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

Header file for vsh, a bourne-compatible shell. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ -#include <maloc/vsys.h>
│ │ │ │ +#include <maloc/vsys.h>
│ │ │ │
│ │ │ │ Include dependency graph for vsh.h:
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00017_source.html │ │ │ │ @@ -53,15 +53,15 @@ │ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │
38#ifndef _VSH_H_
│ │ │ │
39#define _VSH_H_
│ │ │ │
40
│ │ │ │
41#include <maloc/maloc_base.h>
│ │ │ │
42
│ │ │ │ -
43#include <maloc/vsys.h>
│ │ │ │ +
43#include <maloc/vsys.h>
│ │ │ │
44
│ │ │ │
45/*
│ │ │ │
46 * ***************************************************************************
│ │ │ │
47 * Class Vsh: Parameters and datatypes
│ │ │ │
48 * ***************************************************************************
│ │ │ │
49 */
│ │ │ │
50
│ │ │ │ @@ -146,15 +146,15 @@ │ │ │ │
296
│ │ │ │
306void Vsh_ioCleanup(Vsh *thee, Vio **sock);
│ │ │ │
307
│ │ │ │
308#endif /* _VSH_H_ */
│ │ │ │
309
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │
#define VMAX_ARGLEN
Global constant.
Definition maloc_base.h:227
│ │ │ │ -
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │ +
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │
double Vsh_getenvReal(Vsh *thee, const char *envi)
Get a value of variable in the environment as a real.
│ │ │ │
int Vsh_putenvInfo(Vsh *thee, const char *envi, const char *valu)
Place a variable with an info string in the environment.
│ │ │ │
char * Vsh_getenv(Vsh *thee, const char *envi)
Get a value of variable in the environment.
│ │ │ │
char * Vsh_getenvInfo(Vsh *thee, const char *envi)
Get info associated with a variable in the environment.
│ │ │ │
int Vsh_putenv(Vsh *thee, const char *envi, const char *valu)
Place a variable with a value in the environment.
│ │ │ │
void Vsh_ioCleanup(Vsh *thee, Vio **sock)
Cleanup an I/O command.
│ │ │ │
int Vsh_getenvInt(Vsh *thee, const char *envi)
Get a value of variable in the environment as an integer.
│ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00018.dot.gz │ │ │ │ ├── a00018.dot │ │ │ │ │ @@ -34,28 +34,28 @@ │ │ │ │ │ Node2 -> Node15 [id="edge14_Node000002_Node000015",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node15 [id="Node000015",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node16 [id="edge15_Node000002_Node000016",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ + Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node19 [id="edge19_Node000018_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node19 [id="Node000019",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node20 [id="edge21_Node000018_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node20 -> Node2 [id="edge22_Node000020_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node21 [id="edge23_Node000018_Node000021",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ Node21 -> Node2 [id="edge24_Node000021_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node21 -> Node19 [id="edge25_Node000021_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node22 [id="edge26_Node000018_Node000022",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 [id="Node000022",label="maloc/vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ Node22 -> Node2 [id="edge27_Node000022_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node19 [id="edge28_Node000022_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node20 [id="edge29_Node000022_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node23 [id="edge30_Node000018_Node000023",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ Node23 -> Node2 [id="edge31_Node000023_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00020.html │ │ │ │ @@ -51,15 +51,15 @@ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

Class Vset: a dynamic set object. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ #include <maloc/vnm.h>
│ │ │ │ -#include <maloc/vmem.h>
│ │ │ │ +#include <maloc/vmem.h>
│ │ │ │
│ │ │ │ Include dependency graph for vset.h:
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00020_source.html │ │ │ │ @@ -54,15 +54,15 @@ │ │ │ │ Go to the documentation of this file.
1
│ │ │ │
38#ifndef _VSET_H_
│ │ │ │
39#define _VSET_H_
│ │ │ │
40
│ │ │ │
41#include <maloc/maloc_base.h>
│ │ │ │
42
│ │ │ │
43#include <maloc/vnm.h>
│ │ │ │ -
44#include <maloc/vmem.h>
│ │ │ │ +
44#include <maloc/vmem.h>
│ │ │ │
45
│ │ │ │
46/*
│ │ │ │
47 * ***************************************************************************
│ │ │ │
48 * Class Vset: Parameters and datatypes
│ │ │ │
49 * ***************************************************************************
│ │ │ │
50 */
│ │ │ │
51
│ │ │ │ @@ -192,15 +192,15 @@ │ │ │ │
424
│ │ │ │
433void Vset_memChk(Vset *thee);
│ │ │ │
434
│ │ │ │
435#endif /* _VSET_H_ */
│ │ │ │
436
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │
#define VMAX_ARGLEN
Global constant.
Definition maloc_base.h:227
│ │ │ │ -
Class Vmem: A safer, object-oriented, malloc/free object.
│ │ │ │ +
Class Vmem: A safer, object-oriented, malloc/free object.
│ │ │ │
Header file for an ISO C [V]irtual [N]umerical [M]achine.
│ │ │ │
char * Vset_peekFirst(Vset *thee)
Return the first object in the set.
│ │ │ │
char * Vset_prev(Vset *thee)
Return the prev object in the set.
│ │ │ │
void Vset_dtor(Vset **thee)
Destroy the set object.
│ │ │ │
char * Vset_first(Vset *thee)
Return the first object in the set.
│ │ │ │
Vset * Vset_ctor(Vmem *vmem, const char *tname, int tsize, int tmaxNum, int ioKey)
Construct the set object.
│ │ │ │
void Vset_reset(Vset *thee)
Release all Ram controlled by this (thee) and re-initialize.
│ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00021.dot.gz │ │ │ │ ├── a00021.dot │ │ │ │ │ @@ -37,10 +37,10 @@ │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 [id="Node000018",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node19 [id="edge19_Node000001_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node19 [id="Node000019",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node19 [id="Node000019",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00022.dot │ │ │ │ @@ -2,27 +2,27 @@ │ │ │ │ { │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ bgcolor="transparent"; │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ Node1 [id="Node000001",label="vset.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 [id="Node000002",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ + Node2 [id="Node000002",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node3 [id="Node000003",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ Node2 -> Node4 [id="edge3_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node4 [id="Node000004",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ Node4 -> Node3 [id="edge4_Node000004_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node2 -> Node5 [id="edge5_Node000002_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node5 [id="Node000005",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ + Node5 [id="Node000005",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ Node5 -> Node6 [id="edge6_Node000005_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node6 [id="Node000006",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ Node6 -> Node4 [id="edge7_Node000006_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node2 -> Node6 [id="edge8_Node000002_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node2 -> Node7 [id="edge9_Node000002_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node7 [id="Node000007",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ + Node7 [id="Node000007",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ Node7 -> Node6 [id="edge10_Node000007_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node2 -> Node8 [id="edge11_Node000002_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node8 [id="Node000008",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ Node8 -> Node3 [id="edge12_Node000008_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node8 -> Node4 [id="edge13_Node000008_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00023.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vsys.h File Reference │ │ │ │ +MALOC: vio.h File Reference │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -39,43 +39,169 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
vsys.h File Reference
│ │ │ │ +
│ │ │ │ +Classes | │ │ │ │ +Macros | │ │ │ │ +Typedefs | │ │ │ │ +Enumerations | │ │ │ │ +Functions
│ │ │ │ +
vio.h File Reference
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ -

The primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │ +

Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ #include <maloc/vnm.h>
│ │ │ │ -#include <maloc/vmem.h>
│ │ │ │ -#include <maloc/vio.h>
│ │ │ │ -#include <maloc/vset.h>
│ │ │ │ -#include <maloc/vpred.h>
│ │ │ │
│ │ │ │ -Include dependency graph for vsys.h:
│ │ │ │ +Include dependency graph for vio.h:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │

Go to the source code of this file.

│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +

│ │ │ │ +Classes

struct  sVio
 Contains public data members for Vio class. More...
 
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +

│ │ │ │ +Macros

#define VPORTNUMBER   14916
 our portbase; 5000 < VPORTNUMBER < 49152
 
#define VIO_MAXBUF   10
 number of internal buffers (BUFF datatype)
 
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +

│ │ │ │ +Typedefs

typedef enum VIOtype VIOtype
 Parameter for I/O type (sdio,buff,file,unix,inet)
 
typedef enum VIOfrmt VIOfrmt
 Parameter for compression type (XDR,ASC)
 
typedef enum VIOrwkey VIOrwkey
 Parameter for rw type (R,RW)
 
typedef struct sVio Vio
 Declaration of the Vio class as the Vio structure.
 
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +

│ │ │ │ +Enumerations

enum  VIOtype {
│ │ │ │ +  VIO_NO_TYPE │ │ │ │ +, VIO_SDIO │ │ │ │ +, VIO_BUFF │ │ │ │ +, VIO_FILE │ │ │ │ +,
│ │ │ │ +  VIO_UNIX │ │ │ │ +, VIO_INET │ │ │ │ +
│ │ │ │ + }
 Parameter for I/O type (sdio,buff,file,unix,inet) More...
 
enum  VIOfrmt { VIO_NO_FRMT │ │ │ │ +, VIO_XDR │ │ │ │ +, VIO_ASC │ │ │ │ + }
 Parameter for compression type (XDR,ASC) More...
 
enum  VIOrwkey { VIO_NO_RW │ │ │ │ +, VIO_R │ │ │ │ +, VIO_W │ │ │ │ + }
 Parameter for rw type (R,RW) More...
 
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +

│ │ │ │ +Functions

void Vio_start (void)
 Start Vio communication layer (init internal variables/buffers)
 
void Vio_stop (void)
 Shutdown Vio communication layer.
 
VioVio_ctor (const char *socktype, const char *datafrmt, const char *hostname, const char *filename, const char *rwkey)
 Construct the Vio object.
 
int Vio_ctor2 (Vio *thee, const char *socktype, const char *datafrmt, const char *hostname, const char *filename, const char *rwkey)
 Work routine that Vio_ctor calls to do most of the construction.
 
void Vio_dtor (Vio **thee)
 Destruct the Vio object.
 
void Vio_dtor2 (Vio *thee)
 Work routine that Vio_dtor calls to do most of the destruction.
 
void Vio_setWhiteChars (Vio *thee, char *whiteChars)
 Set the white character set for I/O stream.
 
void Vio_setCommChars (Vio *thee, char *commChars)
 Set the comment character set for I/O stream.
 
int Vio_accept (Vio *thee, int nonblock)
 Accept any waiting connect attempt to our socket on our machine.
 
void Vio_acceptFree (Vio *thee)
 Free the socket child that was used for the last accept.
 
int Vio_connect (Vio *thee, int nonblock)
 Connect to some socket on a remote machine (or on our machine)
 
void Vio_connectFree (Vio *thee)
 Purge any output buffers (for <UNIX/INET>, else a no-op)
 
int Vio_scanf (Vio *thee, char *parms,...)
 Mimic "scanf" from an arbitrary Vio device.
 
int Vio_printf (Vio *thee, char *parms,...)
 Mimic "printf" from an arbitrary Vio device.
 
int Vio_read (Vio *thee, char *buf, int bufsize)
 Read (up to) bufsize characters into buf from input device.
 
int Vio_write (Vio *thee, char *buf, int bufsize)
 Write bufsize characters from buf to output device.
 
void Vio_bufTake (Vio *thee, char *buf, int bufsize)
 Set the pointer to the internal buffer.
 
char * Vio_bufGive (Vio *thee)
 Return the pointer to the internal buffer.
 
int Vio_bufSize (Vio *thee)
 Return the length to the internal buffer.
 
VioVio_socketOpen (char *key, const char *iodev, const char *iofmt, const char *iohost, const char *iofile)
 Socket open for read or write.
 
void Vio_socketClose (Vio **sock)
 Socket close from read or write.
 
│ │ │ │

Detailed Description

│ │ │ │ -

The primary header for VSYS. (Virtual SYStem utilities library.)

│ │ │ │ -
Author
Michael Holst
│ │ │ │ +

Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer.

│ │ │ │
Version
│ │ │ │ -
Id
vsys.h,v 1.12 2010/08/12 05:40:37 fetk Exp
│ │ │ │ +
Id
vio.h,v 1.28 2010/08/12 05:40:35 fetk Exp
│ │ │ │ +
Author
Michael Holst
│ │ │ │
Attention
*
│ │ │ │  * MALOC = < Minimal Abstraction Layer for Object-oriented C >
│ │ │ │  * Copyright (C) 1994-- Michael Holst
│ │ │ │  *
│ │ │ │  * This library is free software; you can redistribute it and/or
│ │ │ │  * modify it under the terms of the GNU Lesser General Public
│ │ │ │  * License as published by the Free Software Foundation; either
│ │ │ │ @@ -86,15 +212,48 @@
│ │ │ │  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
│ │ │ │  * Lesser General Public License for more details.
│ │ │ │  *
│ │ │ │  * You should have received a copy of the GNU Lesser General Public
│ │ │ │  * License along with this library; if not, write to the Free Software
│ │ │ │  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
│ │ │ │  * 
│ │ │ │ -*  
│ │ │ │ -
│ │ │ │ +* │ │ │ │ +

Macro Definition Documentation

│ │ │ │ + │ │ │ │ +

◆ VIO_MAXBUF

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define VIO_MAXBUF   10
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

number of internal buffers (BUFF datatype)

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ VPORTNUMBER

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define VPORTNUMBER   14916
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

our portbase; 5000 < VPORTNUMBER < 49152

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ +
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,30 +1,131 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _v_s_y_s │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -vsys.h File Reference │ │ │ │ │ -_g_l_o_b_a_l___m_a_l_o_c_ _c_l_a_s_s │ │ │ │ │ -The primary header for VSYS. (Virtual SYStem utilities library.) _M_o_r_e_._._. │ │ │ │ │ +_C_l_a_s_s_e_s | _M_a_c_r_o_s | _T_y_p_e_d_e_f_s | _E_n_u_m_e_r_a_t_i_o_n_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ +vio.h File Reference │ │ │ │ │ +_V_i_o_ _c_l_a_s_s │ │ │ │ │ +Class Vio: virtual I/O layer. _M_o_r_e_._._. │ │ │ │ │ #include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ #include <_m_a_l_o_c_/_v_n_m_._h> │ │ │ │ │ -#include <_m_a_l_o_c_/_v_m_e_m_._h> │ │ │ │ │ -#include <_m_a_l_o_c_/_v_i_o_._h> │ │ │ │ │ -#include <_m_a_l_o_c_/_v_s_e_t_._h> │ │ │ │ │ -#include <_m_a_l_o_c_/_v_p_r_e_d_._h> │ │ │ │ │ -Include dependency graph for vsys.h: │ │ │ │ │ +Include dependency graph for vio.h: │ │ │ │ │ This graph shows which files directly or indirectly include this file: │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _s_o_u_r_c_e_ _c_o_d_e_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ +CCllaasssseess │ │ │ │ │ +struct   _s_V_i_o │ │ │ │ │ +  Contains public data members for Vio class. _M_o_r_e_._._. │ │ │ │ │ +  │ │ │ │ │ +MMaaccrrooss │ │ │ │ │ +#define  _V_P_O_R_T_N_U_M_B_E_R   14916 │ │ │ │ │ +  our portbase; 5000 < VPORTNUMBER < 49152 │ │ │ │ │ +  │ │ │ │ │ +#define  _V_I_O___M_A_X_B_U_F   10 │ │ │ │ │ +  number of internal buffers (BUFF datatype) │ │ │ │ │ +  │ │ │ │ │ +TTyyppeeddeeffss │ │ │ │ │ + typedef enum _V_I_O_t_y_p_e  _V_I_O_t_y_p_e │ │ │ │ │ +  Parameter for I/O type (sdio,buff,file,unix,inet) │ │ │ │ │ +  │ │ │ │ │ + typedef enum _V_I_O_f_r_m_t  _V_I_O_f_r_m_t │ │ │ │ │ +  Parameter for compression type (XDR,ASC) │ │ │ │ │ +  │ │ │ │ │ +typedef enum _V_I_O_r_w_k_e_y  _V_I_O_r_w_k_e_y │ │ │ │ │ +  Parameter for rw type (R,RW) │ │ │ │ │ +  │ │ │ │ │ + typedef struct _s_V_i_o  _V_i_o │ │ │ │ │ +  Declaration of the Vio class as the Vio structure. │ │ │ │ │ +  │ │ │ │ │ +EEnnuummeerraattiioonnss │ │ │ │ │ +enum   _V_I_O_t_y_p_e { │ │ │ │ │ +   _V_I_O___N_O___T_Y_P_E , _V_I_O___S_D_I_O , _V_I_O___B_U_F_F , _V_I_O___F_I_L_E , │ │ │ │ │ +   _V_I_O___U_N_I_X , _V_I_O___I_N_E_T │ │ │ │ │ + } │ │ │ │ │ +  Parameter for I/O type (sdio,buff,file,unix,inet) _M_o_r_e_._._. │ │ │ │ │ +  │ │ │ │ │ +enum   _V_I_O_f_r_m_t { _V_I_O___N_O___F_R_M_T , _V_I_O___X_D_R , _V_I_O___A_S_C } │ │ │ │ │ +  Parameter for compression type (XDR,ASC) _M_o_r_e_._._. │ │ │ │ │ +  │ │ │ │ │ +enum   _V_I_O_r_w_k_e_y { _V_I_O___N_O___R_W , _V_I_O___R , _V_I_O___W } │ │ │ │ │ +  Parameter for rw type (R,RW) _M_o_r_e_._._. │ │ │ │ │ +  │ │ │ │ │ +FFuunnccttiioonnss │ │ │ │ │ + void  _V_i_o___s_t_a_r_t (void) │ │ │ │ │ +  Start Vio communication layer (init internal variables/buffers) │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___s_t_o_p (void) │ │ │ │ │ +  Shutdown Vio communication layer. │ │ │ │ │ +  │ │ │ │ │ + _V_i_o *  _V_i_o___c_t_o_r (const char *socktype, const char *datafrmt, const char │ │ │ │ │ + *hostname, const char *filename, const char *rwkey) │ │ │ │ │ +  Construct the Vio object. │ │ │ │ │ +  │ │ │ │ │ + int  _V_i_o___c_t_o_r_2 (_V_i_o *thee, const char *socktype, const char *datafrmt, const │ │ │ │ │ + char *hostname, const char *filename, const char *rwkey) │ │ │ │ │ +  Work routine that Vio_ctor calls to do most of the construction. │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___d_t_o_r (_V_i_o **thee) │ │ │ │ │ +  Destruct the Vio object. │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___d_t_o_r_2 (_V_i_o *thee) │ │ │ │ │ +  Work routine that Vio_dtor calls to do most of the destruction. │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___s_e_t_W_h_i_t_e_C_h_a_r_s (_V_i_o *thee, char *whiteChars) │ │ │ │ │ +  Set the white character set for I/O stream. │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___s_e_t_C_o_m_m_C_h_a_r_s (_V_i_o *thee, char *commChars) │ │ │ │ │ +  Set the comment character set for I/O stream. │ │ │ │ │ +  │ │ │ │ │ + int  _V_i_o___a_c_c_e_p_t (_V_i_o *thee, int nonblock) │ │ │ │ │ +  Accept any waiting connect attempt to our socket on our machine. │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___a_c_c_e_p_t_F_r_e_e (_V_i_o *thee) │ │ │ │ │ +  Free the socket child that was used for the last accept. │ │ │ │ │ +  │ │ │ │ │ + int  _V_i_o___c_o_n_n_e_c_t (_V_i_o *thee, int nonblock) │ │ │ │ │ +  Connect to some socket on a remote machine (or on our machine) │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___c_o_n_n_e_c_t_F_r_e_e (_V_i_o *thee) │ │ │ │ │ +  Purge any output buffers (for , else a no-op) │ │ │ │ │ +  │ │ │ │ │ + int  _V_i_o___s_c_a_n_f (_V_i_o *thee, char *parms,...) │ │ │ │ │ +  Mimic "scanf" from an arbitrary Vio device. │ │ │ │ │ +  │ │ │ │ │ + int  _V_i_o___p_r_i_n_t_f (_V_i_o *thee, char *parms,...) │ │ │ │ │ +  Mimic "printf" from an arbitrary Vio device. │ │ │ │ │ +  │ │ │ │ │ + int  _V_i_o___r_e_a_d (_V_i_o *thee, char *buf, int bufsize) │ │ │ │ │ +  Read (up to) bufsize characters into buf from input device. │ │ │ │ │ +  │ │ │ │ │ + int  _V_i_o___w_r_i_t_e (_V_i_o *thee, char *buf, int bufsize) │ │ │ │ │ +  Write bufsize characters from buf to output device. │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___b_u_f_T_a_k_e (_V_i_o *thee, char *buf, int bufsize) │ │ │ │ │ +  Set the pointer to the internal buffer. │ │ │ │ │ +  │ │ │ │ │ +char *  _V_i_o___b_u_f_G_i_v_e (_V_i_o *thee) │ │ │ │ │ +  Return the pointer to the internal buffer. │ │ │ │ │ +  │ │ │ │ │ + int  _V_i_o___b_u_f_S_i_z_e (_V_i_o *thee) │ │ │ │ │ +  Return the length to the internal buffer. │ │ │ │ │ +  │ │ │ │ │ + _V_i_o *  _V_i_o___s_o_c_k_e_t_O_p_e_n (char *key, const char *iodev, const char *iofmt, const │ │ │ │ │ + char *iohost, const char *iofile) │ │ │ │ │ +  Socket open for read or write. │ │ │ │ │ +  │ │ │ │ │ + void  _V_i_o___s_o_c_k_e_t_C_l_o_s_e (_V_i_o **sock) │ │ │ │ │ +  Socket close from read or write. │ │ │ │ │ +  │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ -The primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │ │ - Author │ │ │ │ │ - Michael Holst │ │ │ │ │ +Class Vio: virtual I/O layer. │ │ │ │ │ Version │ │ │ │ │ Id │ │ │ │ │ - _v_s_y_s_._h,v 1.12 2010/08/12 05:40:37 fetk Exp │ │ │ │ │ + _v_i_o_._h,v 1.28 2010/08/12 05:40:35 fetk Exp │ │ │ │ │ + Author │ │ │ │ │ + Michael Holst │ │ │ │ │ Attention │ │ │ │ │ * │ │ │ │ │ * MALOC = < Minimal Abstraction Layer for Object-oriented C > │ │ │ │ │ * Copyright (C) 1994-- Michael Holst │ │ │ │ │ * │ │ │ │ │ * This library is free software; you can redistribute it and/or │ │ │ │ │ * modify it under the terms of the GNU Lesser General Public │ │ │ │ │ @@ -37,9 +138,16 @@ │ │ │ │ │ * Lesser General Public License for more details. │ │ │ │ │ * │ │ │ │ │ * You should have received a copy of the GNU Lesser General Public │ │ │ │ │ * License along with this library; if not, write to the Free Software │ │ │ │ │ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA │ │ │ │ │ * │ │ │ │ │ * │ │ │ │ │ +********** MMaaccrroo DDeeffiinniittiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ +********** _?◆_? VVIIOO__MMAAXXBBUUFF ********** │ │ │ │ │ +#define VIO_MAXBUF   10 │ │ │ │ │ +number of internal buffers (BUFF datatype) │ │ │ │ │ +********** _?◆_? VVPPOORRTTNNUUMMBBEERR ********** │ │ │ │ │ +#define VPORTNUMBER   14916 │ │ │ │ │ +our portbase; 5000 < VPORTNUMBER < 49152 │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00023_source.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vsys.h Source File │ │ │ │ +MALOC: vio.h Source File │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -44,37 +44,219 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
vsys.h
│ │ │ │ +
vio.h
│ │ │ │
│ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │ -
31#ifndef _VSYS_H_
│ │ │ │ -
32#define _VSYS_H_
│ │ │ │ -
33
│ │ │ │ -
34#include <maloc/maloc_base.h>
│ │ │ │ -
35
│ │ │ │ -
36#include <maloc/vnm.h>
│ │ │ │ -
37#include <maloc/vmem.h>
│ │ │ │ -
38#include <maloc/vio.h>
│ │ │ │ -
39#include <maloc/vset.h>
│ │ │ │ -
40#include <maloc/vpred.h>
│ │ │ │ +
39#ifndef _VIO_H_
│ │ │ │ +
40#define _VIO_H_
│ │ │ │
41
│ │ │ │ -
42#endif /* _VSYS_H_ */
│ │ │ │ +
42#include <maloc/maloc_base.h>
│ │ │ │
43
│ │ │ │ +
44#include <maloc/vnm.h>
│ │ │ │ +
45
│ │ │ │ +
46/*
│ │ │ │ +
47 * ***************************************************************************
│ │ │ │ +
48 * Class Vio: Parameters and datatypes
│ │ │ │ +
49 * ***************************************************************************
│ │ │ │ +
50 */
│ │ │ │ +
51
│ │ │ │ +
53#define VPORTNUMBER 14916
│ │ │ │ +
55#define VIO_MAXBUF 10
│ │ │ │ +
56
│ │ │ │ +
│ │ │ │ +
62typedef enum VIOtype {
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
│ │ │ │ +
70
│ │ │ │ +
│ │ │ │ +
76typedef enum VIOfrmt {
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
│ │ │ │ +
81
│ │ │ │ +
│ │ │ │ +
87typedef enum VIOrwkey {
│ │ │ │ + │ │ │ │ + │ │ │ │ +
90 VIO_W
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
92
│ │ │ │ +
│ │ │ │ +
98struct sVio {
│ │ │ │ +
99
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
122 int error;
│ │ │ │ +
123 int dirty;
│ │ │ │ +
125 FILE *fp;
│ │ │ │ +
126 int so;
│ │ │ │ +
127 int soc;
│ │ │ │ +
128 void *name;
│ │ │ │ +
129 void *axdr;
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
140 char *VIObuffer;
│ │ │ │ + │ │ │ │ + │ │ │ │ +
144};
│ │ │ │ +
│ │ │ │ +
145
│ │ │ │ +
151typedef struct sVio Vio;
│ │ │ │ +
152
│ │ │ │ +
153/*
│ │ │ │ +
154 * ***************************************************************************
│ │ │ │ +
155 * Class Vio: Inlineable methods (vio.c)
│ │ │ │ +
156 * ***************************************************************************
│ │ │ │ +
157 */
│ │ │ │ +
158
│ │ │ │ +
159#if !defined(VINLINE_MALOC)
│ │ │ │ +
160#else /* if defined(VINLINE_MALOC) */
│ │ │ │ +
161#endif /* if !defined(VINLINE_MALOC) */
│ │ │ │ +
162
│ │ │ │ +
163/*
│ │ │ │ +
164 * ***************************************************************************
│ │ │ │ +
165 * Class Vio: Non-Inlineable methods (vio.c)
│ │ │ │ +
166 * ***************************************************************************
│ │ │ │ +
167 */
│ │ │ │ +
168
│ │ │ │ +
176void Vio_start(void);
│ │ │ │ +
177
│ │ │ │ +
185void Vio_stop(void);
│ │ │ │ +
186
│ │ │ │ +
199Vio* Vio_ctor(const char *socktype, const char *datafrmt,
│ │ │ │ +
200 const char *hostname, const char *filename, const char *rwkey);
│ │ │ │ +
201
│ │ │ │ +
215int Vio_ctor2(Vio *thee, const char *socktype, const char *datafrmt,
│ │ │ │ +
216 const char *hostname, const char *filename, const char *rwkey);
│ │ │ │ +
217
│ │ │ │ +
226void Vio_dtor(Vio **thee);
│ │ │ │ +
227
│ │ │ │ +
236void Vio_dtor2(Vio *thee);
│ │ │ │ +
237
│ │ │ │ + │ │ │ │ +
248
│ │ │ │ +
258void Vio_setCommChars(Vio *thee, char *commChars);
│ │ │ │ +
259
│ │ │ │ +
272int Vio_accept(Vio *thee, int nonblock);
│ │ │ │ +
273
│ │ │ │ +
282void Vio_acceptFree(Vio *thee);
│ │ │ │ +
283
│ │ │ │ +
296int Vio_connect(Vio *thee, int nonblock);
│ │ │ │ +
297
│ │ │ │ + │ │ │ │ +
307
│ │ │ │ +
317int Vio_scanf(Vio *thee, char *parms, ...);
│ │ │ │ +
318
│ │ │ │ +
328int Vio_printf(Vio *thee, char *parms, ...);
│ │ │ │ +
329
│ │ │ │ +
340int Vio_read(Vio *thee, char *buf, int bufsize);
│ │ │ │ +
341
│ │ │ │ +
352int Vio_write(Vio *thee, char *buf, int bufsize);
│ │ │ │ +
353
│ │ │ │ +
364void Vio_bufTake(Vio *thee, char *buf, int bufsize);
│ │ │ │ +
365
│ │ │ │ +
374char* Vio_bufGive(Vio *thee);
│ │ │ │ +
375
│ │ │ │ +
384int Vio_bufSize(Vio *thee);
│ │ │ │ +
385
│ │ │ │ + │ │ │ │ +
399 const char *iodev, const char *iofmt,
│ │ │ │ +
400 const char *iohost, const char *iofile);
│ │ │ │ +
401
│ │ │ │ +
410void Vio_socketClose(Vio **sock);
│ │ │ │ +
411
│ │ │ │ +
412#endif /* _VIO_H_ */
│ │ │ │ +
413
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │ -
Class Vset: a dynamic set object.
│ │ │ │ -
Class Vmem: A safer, object-oriented, malloc/free object.
│ │ │ │ -
Header file for the Geometric Predicates.
│ │ │ │ -
Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer.
│ │ │ │ +
#define VMAX_ARGNUM
Global constant.
Definition maloc_base.h:225
│ │ │ │ +
#define VMAX_BUFSIZE
Global constant.
Definition maloc_base.h:229
│ │ │ │ +
#define VMAX_ARGLEN
Global constant.
Definition maloc_base.h:227
│ │ │ │
Header file for an ISO C [V]irtual [N]umerical [M]achine.
│ │ │ │ +
int Vio_bufSize(Vio *thee)
Return the length to the internal buffer.
│ │ │ │ +
void Vio_stop(void)
Shutdown Vio communication layer.
│ │ │ │ +
int Vio_write(Vio *thee, char *buf, int bufsize)
Write bufsize characters from buf to output device.
│ │ │ │ +
int Vio_scanf(Vio *thee, char *parms,...)
Mimic "scanf" from an arbitrary Vio device.
│ │ │ │ +
void Vio_acceptFree(Vio *thee)
Free the socket child that was used for the last accept.
│ │ │ │ +
void Vio_start(void)
Start Vio communication layer (init internal variables/buffers)
│ │ │ │ +
int Vio_printf(Vio *thee, char *parms,...)
Mimic "printf" from an arbitrary Vio device.
│ │ │ │ +
Vio * Vio_socketOpen(char *key, const char *iodev, const char *iofmt, const char *iohost, const char *iofile)
Socket open for read or write.
│ │ │ │ +
void Vio_setWhiteChars(Vio *thee, char *whiteChars)
Set the white character set for I/O stream.
│ │ │ │ +
void Vio_socketClose(Vio **sock)
Socket close from read or write.
│ │ │ │ +
int Vio_connect(Vio *thee, int nonblock)
Connect to some socket on a remote machine (or on our machine)
│ │ │ │ +
VIOfrmt
Parameter for compression type (XDR,ASC)
Definition vio.h:76
│ │ │ │ +
int Vio_accept(Vio *thee, int nonblock)
Accept any waiting connect attempt to our socket on our machine.
│ │ │ │ +
Vio * Vio_ctor(const char *socktype, const char *datafrmt, const char *hostname, const char *filename, const char *rwkey)
Construct the Vio object.
│ │ │ │ +
VIOtype
Parameter for I/O type (sdio,buff,file,unix,inet)
Definition vio.h:62
│ │ │ │ +
void Vio_dtor(Vio **thee)
Destruct the Vio object.
│ │ │ │ +
int Vio_read(Vio *thee, char *buf, int bufsize)
Read (up to) bufsize characters into buf from input device.
│ │ │ │ +
void Vio_bufTake(Vio *thee, char *buf, int bufsize)
Set the pointer to the internal buffer.
│ │ │ │ +
void Vio_connectFree(Vio *thee)
Purge any output buffers (for <UNIX/INET>, else a no-op)
│ │ │ │ +
void Vio_setCommChars(Vio *thee, char *commChars)
Set the comment character set for I/O stream.
│ │ │ │ +
char * Vio_bufGive(Vio *thee)
Return the pointer to the internal buffer.
│ │ │ │ +
VIOrwkey
Parameter for rw type (R,RW)
Definition vio.h:87
│ │ │ │ +
void Vio_dtor2(Vio *thee)
Work routine that Vio_dtor calls to do most of the destruction.
│ │ │ │ +
int Vio_ctor2(Vio *thee, const char *socktype, const char *datafrmt, const char *hostname, const char *filename, const char *rwkey)
Work routine that Vio_ctor calls to do most of the construction.
│ │ │ │ +
@ VIO_XDR
Definition vio.h:78
│ │ │ │ +
@ VIO_NO_FRMT
Definition vio.h:77
│ │ │ │ +
@ VIO_ASC
Definition vio.h:79
│ │ │ │ +
@ VIO_NO_TYPE
Definition vio.h:63
│ │ │ │ +
@ VIO_FILE
Definition vio.h:66
│ │ │ │ +
@ VIO_UNIX
Definition vio.h:67
│ │ │ │ +
@ VIO_BUFF
Definition vio.h:65
│ │ │ │ +
@ VIO_SDIO
Definition vio.h:64
│ │ │ │ +
@ VIO_INET
Definition vio.h:68
│ │ │ │ +
@ VIO_NO_RW
Definition vio.h:88
│ │ │ │ +
@ VIO_W
Definition vio.h:90
│ │ │ │ +
@ VIO_R
Definition vio.h:89
│ │ │ │ +
Contains public data members for Vio class.
Definition vio.h:98
│ │ │ │ +
char putBuffer[VMAX_BUFSIZE]
Definition vio.h:137
│ │ │ │ +
VIOtype type
Definition vio.h:100
│ │ │ │ +
int ioBufferLen
Definition vio.h:135
│ │ │ │ +
VIOrwkey rwkey
Definition vio.h:113
│ │ │ │ +
char commChars[VMAX_ARGNUM]
Definition vio.h:132
│ │ │ │ +
int VIObufferPtr
Definition vio.h:142
│ │ │ │ +
FILE * fp
Definition vio.h:125
│ │ │ │ +
VIOfrmt frmt
Definition vio.h:108
│ │ │ │ +
int dirty
Definition vio.h:123
│ │ │ │ +
int soc
Definition vio.h:127
│ │ │ │ +
char lhost[VMAX_ARGLEN]
Definition vio.h:119
│ │ │ │ +
char whiteChars[VMAX_ARGNUM]
Definition vio.h:131
│ │ │ │ +
char ioBuffer[VMAX_BUFSIZE]
Definition vio.h:134
│ │ │ │ +
int VIObufferLen
Definition vio.h:141
│ │ │ │ +
char file[VMAX_ARGLEN]
Definition vio.h:118
│ │ │ │ +
void * name
Definition vio.h:128
│ │ │ │ +
void * axdr
Definition vio.h:129
│ │ │ │ +
char * VIObuffer
Definition vio.h:140
│ │ │ │ +
int putBufferLen
Definition vio.h:138
│ │ │ │ +
int so
Definition vio.h:126
│ │ │ │ +
char rhost[VMAX_ARGLEN]
Definition vio.h:120
│ │ │ │ +
int error
Definition vio.h:122
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,34 +1,343 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _v_s_y_s │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -vsys.h │ │ │ │ │ +vio.h │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _d_o_c_u_m_e_n_t_a_t_i_o_n_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ 1 │ │ │ │ │ -31#ifndef _VSYS_H_ │ │ │ │ │ -32#define _VSYS_H_ │ │ │ │ │ -33 │ │ │ │ │ -34#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ -35 │ │ │ │ │ -36#include <_m_a_l_o_c_/_v_n_m_._h> │ │ │ │ │ -37#include <_m_a_l_o_c_/_v_m_e_m_._h> │ │ │ │ │ -38#include <_m_a_l_o_c_/_v_i_o_._h> │ │ │ │ │ -39#include <_m_a_l_o_c_/_v_s_e_t_._h> │ │ │ │ │ -40#include <_m_a_l_o_c_/_v_p_r_e_d_._h> │ │ │ │ │ +39#ifndef _VIO_H_ │ │ │ │ │ +40#define _VIO_H_ │ │ │ │ │ 41 │ │ │ │ │ -42#endif /* _VSYS_H_ */ │ │ │ │ │ +42#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ 43 │ │ │ │ │ +44#include <_m_a_l_o_c_/_v_n_m_._h> │ │ │ │ │ +45 │ │ │ │ │ +46/* │ │ │ │ │ +47 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +48 * Class Vio: Parameters and datatypes │ │ │ │ │ +49 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +50 */ │ │ │ │ │ +51 │ │ │ │ │ +_5_3#define VPORTNUMBER 14916 │ │ │ │ │ +_5_5#define VIO_MAXBUF 10 │ │ │ │ │ +56 │ │ │ │ │ +_6_2typedef enum _V_I_O_t_y_p_e { │ │ │ │ │ +_6_3 _V_I_O___N_O___T_Y_P_E, │ │ │ │ │ +_6_4 _V_I_O___S_D_I_O, │ │ │ │ │ +_6_5 _V_I_O___B_U_F_F, │ │ │ │ │ +_6_6 _V_I_O___F_I_L_E, │ │ │ │ │ +_6_7 _V_I_O___U_N_I_X, │ │ │ │ │ +68 _V_I_O___I_N_E_T │ │ │ │ │ +_6_9} _V_I_O_t_y_p_e; │ │ │ │ │ +70 │ │ │ │ │ +_7_6typedef enum _V_I_O_f_r_m_t { │ │ │ │ │ +_7_7 _V_I_O___N_O___F_R_M_T, │ │ │ │ │ +_7_8 _V_I_O___X_D_R, │ │ │ │ │ +79 _V_I_O___A_S_C │ │ │ │ │ +_8_0} _V_I_O_f_r_m_t; │ │ │ │ │ +81 │ │ │ │ │ +_8_7typedef enum _V_I_O_r_w_k_e_y { │ │ │ │ │ +_8_8 _V_I_O___N_O___R_W, │ │ │ │ │ +_8_9 _V_I_O___R, │ │ │ │ │ +90 _V_I_O___W │ │ │ │ │ +_9_1} _V_I_O_r_w_k_e_y; │ │ │ │ │ +92 │ │ │ │ │ +_9_8struct _s_V_i_o { │ │ │ │ │ +99 │ │ │ │ │ +_1_0_0 _V_I_O_t_y_p_e _t_y_p_e; │ │ │ │ │ +_1_0_8 _V_I_O_f_r_m_t _f_r_m_t; │ │ │ │ │ +_1_1_3 _V_I_O_r_w_k_e_y _r_w_k_e_y; │ │ │ │ │ +_1_1_8 char _f_i_l_e[_V_M_A_X___A_R_G_L_E_N]; │ │ │ │ │ +_1_1_9 char _l_h_o_s_t[_V_M_A_X___A_R_G_L_E_N]; │ │ │ │ │ +_1_2_0 char _r_h_o_s_t[_V_M_A_X___A_R_G_L_E_N]; │ │ │ │ │ +_1_2_2 int _e_r_r_o_r; │ │ │ │ │ +_1_2_3 int _d_i_r_t_y; │ │ │ │ │ +_1_2_5 FILE *_f_p; │ │ │ │ │ +_1_2_6 int _s_o; │ │ │ │ │ +_1_2_7 int _s_o_c; │ │ │ │ │ +_1_2_8 void *_n_a_m_e; │ │ │ │ │ +_1_2_9 void *_a_x_d_r; │ │ │ │ │ +_1_3_1 char _w_h_i_t_e_C_h_a_r_s[_V_M_A_X___A_R_G_N_U_M]; │ │ │ │ │ +_1_3_2 char _c_o_m_m_C_h_a_r_s[_V_M_A_X___A_R_G_N_U_M]; │ │ │ │ │ +_1_3_4 char _i_o_B_u_f_f_e_r[_V_M_A_X___B_U_F_S_I_Z_E]; │ │ │ │ │ +_1_3_5 int _i_o_B_u_f_f_e_r_L_e_n; │ │ │ │ │ +_1_3_7 char _p_u_t_B_u_f_f_e_r[_V_M_A_X___B_U_F_S_I_Z_E]; │ │ │ │ │ +_1_3_8 int _p_u_t_B_u_f_f_e_r_L_e_n; │ │ │ │ │ +_1_4_0 char *_V_I_O_b_u_f_f_e_r; │ │ │ │ │ +_1_4_1 int _V_I_O_b_u_f_f_e_r_L_e_n; │ │ │ │ │ +_1_4_2 int _V_I_O_b_u_f_f_e_r_P_t_r; │ │ │ │ │ +144}; │ │ │ │ │ +145 │ │ │ │ │ +_1_5_1typedef struct _s_V_i_o _V_i_o; │ │ │ │ │ +152 │ │ │ │ │ +153/* │ │ │ │ │ +154 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +155 * Class Vio: Inlineable methods (vio.c) │ │ │ │ │ +156 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +157 */ │ │ │ │ │ +158 │ │ │ │ │ +159#if !defined(VINLINE_MALOC) │ │ │ │ │ +160#else /* if defined(VINLINE_MALOC) */ │ │ │ │ │ +161#endif /* if !defined(VINLINE_MALOC) */ │ │ │ │ │ +162 │ │ │ │ │ +163/* │ │ │ │ │ +164 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +165 * Class Vio: Non-Inlineable methods (vio.c) │ │ │ │ │ +166 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +167 */ │ │ │ │ │ +168 │ │ │ │ │ +_1_7_6void _V_i_o___s_t_a_r_t(void); │ │ │ │ │ +177 │ │ │ │ │ +_1_8_5void _V_i_o___s_t_o_p(void); │ │ │ │ │ +186 │ │ │ │ │ +_1_9_9_V_i_o* _V_i_o___c_t_o_r(const char *socktype, const char *datafrmt, │ │ │ │ │ +200 const char *hostname, const char *filename, const char *_r_w_k_e_y); │ │ │ │ │ +201 │ │ │ │ │ +_2_1_5int _V_i_o___c_t_o_r_2(_V_i_o *thee, const char *socktype, const char *datafrmt, │ │ │ │ │ +216 const char *hostname, const char *filename, const char *_r_w_k_e_y); │ │ │ │ │ +217 │ │ │ │ │ +_2_2_6void _V_i_o___d_t_o_r(_V_i_o **thee); │ │ │ │ │ +227 │ │ │ │ │ +_2_3_6void _V_i_o___d_t_o_r_2(_V_i_o *thee); │ │ │ │ │ +237 │ │ │ │ │ +_2_4_7void _V_i_o___s_e_t_W_h_i_t_e_C_h_a_r_s(_V_i_o *thee, char *_w_h_i_t_e_C_h_a_r_s); │ │ │ │ │ +248 │ │ │ │ │ +_2_5_8void _V_i_o___s_e_t_C_o_m_m_C_h_a_r_s(_V_i_o *thee, char *_c_o_m_m_C_h_a_r_s); │ │ │ │ │ +259 │ │ │ │ │ +_2_7_2int _V_i_o___a_c_c_e_p_t(_V_i_o *thee, int nonblock); │ │ │ │ │ +273 │ │ │ │ │ +_2_8_2void _V_i_o___a_c_c_e_p_t_F_r_e_e(_V_i_o *thee); │ │ │ │ │ +283 │ │ │ │ │ +_2_9_6int _V_i_o___c_o_n_n_e_c_t(_V_i_o *thee, int nonblock); │ │ │ │ │ +297 │ │ │ │ │ +_3_0_6void _V_i_o___c_o_n_n_e_c_t_F_r_e_e(_V_i_o *thee); │ │ │ │ │ +307 │ │ │ │ │ +_3_1_7int _V_i_o___s_c_a_n_f(_V_i_o *thee, char *parms, ...); │ │ │ │ │ +318 │ │ │ │ │ +_3_2_8int _V_i_o___p_r_i_n_t_f(_V_i_o *thee, char *parms, ...); │ │ │ │ │ +329 │ │ │ │ │ +_3_4_0int _V_i_o___r_e_a_d(_V_i_o *thee, char *buf, int bufsize); │ │ │ │ │ +341 │ │ │ │ │ +_3_5_2int _V_i_o___w_r_i_t_e(_V_i_o *thee, char *buf, int bufsize); │ │ │ │ │ +353 │ │ │ │ │ +_3_6_4void _V_i_o___b_u_f_T_a_k_e(_V_i_o *thee, char *buf, int bufsize); │ │ │ │ │ +365 │ │ │ │ │ +_3_7_4char* _V_i_o___b_u_f_G_i_v_e(_V_i_o *thee); │ │ │ │ │ +375 │ │ │ │ │ +_3_8_4int _V_i_o___b_u_f_S_i_z_e(_V_i_o *thee); │ │ │ │ │ +385 │ │ │ │ │ +_3_9_8_V_i_o *_V_i_o___s_o_c_k_e_t_O_p_e_n(char *key, │ │ │ │ │ +399 const char *iodev, const char *iofmt, │ │ │ │ │ +400 const char *iohost, const char *iofile); │ │ │ │ │ +401 │ │ │ │ │ +_4_1_0void _V_i_o___s_o_c_k_e_t_C_l_o_s_e(_V_i_o **sock); │ │ │ │ │ +411 │ │ │ │ │ +412#endif /* _VIO_H_ */ │ │ │ │ │ +413 │ │ │ │ │ _m_a_l_o_c___b_a_s_e_._h │ │ │ │ │ The base (or foundation) header for MALOC. │ │ │ │ │ -_v_s_e_t_._h │ │ │ │ │ -Class Vset: a dynamic set object. │ │ │ │ │ -_v_m_e_m_._h │ │ │ │ │ -Class Vmem: A safer, object-oriented, malloc/free object. │ │ │ │ │ -_v_p_r_e_d_._h │ │ │ │ │ -Header file for the Geometric Predicates. │ │ │ │ │ -_v_i_o_._h │ │ │ │ │ -Class Vio: virtual I/O layer. │ │ │ │ │ +_V_M_A_X___A_R_G_N_U_M │ │ │ │ │ +#define VMAX_ARGNUM │ │ │ │ │ +Global constant. │ │ │ │ │ +DDeeffiinniittiioonn maloc_base.h:225 │ │ │ │ │ +_V_M_A_X___B_U_F_S_I_Z_E │ │ │ │ │ +#define VMAX_BUFSIZE │ │ │ │ │ +Global constant. │ │ │ │ │ +DDeeffiinniittiioonn maloc_base.h:229 │ │ │ │ │ +_V_M_A_X___A_R_G_L_E_N │ │ │ │ │ +#define VMAX_ARGLEN │ │ │ │ │ +Global constant. │ │ │ │ │ +DDeeffiinniittiioonn maloc_base.h:227 │ │ │ │ │ _v_n_m_._h │ │ │ │ │ Header file for an ISO C [V]irtual [N]umerical [M]achine. │ │ │ │ │ +_V_i_o___b_u_f_S_i_z_e │ │ │ │ │ +int Vio_bufSize(Vio *thee) │ │ │ │ │ +Return the length to the internal buffer. │ │ │ │ │ +_V_i_o___s_t_o_p │ │ │ │ │ +void Vio_stop(void) │ │ │ │ │ +Shutdown Vio communication layer. │ │ │ │ │ +_V_i_o___w_r_i_t_e │ │ │ │ │ +int Vio_write(Vio *thee, char *buf, int bufsize) │ │ │ │ │ +Write bufsize characters from buf to output device. │ │ │ │ │ +_V_i_o___s_c_a_n_f │ │ │ │ │ +int Vio_scanf(Vio *thee, char *parms,...) │ │ │ │ │ +Mimic "scanf" from an arbitrary Vio device. │ │ │ │ │ +_V_i_o___a_c_c_e_p_t_F_r_e_e │ │ │ │ │ +void Vio_acceptFree(Vio *thee) │ │ │ │ │ +Free the socket child that was used for the last accept. │ │ │ │ │ +_V_i_o___s_t_a_r_t │ │ │ │ │ +void Vio_start(void) │ │ │ │ │ +Start Vio communication layer (init internal variables/buffers) │ │ │ │ │ +_V_i_o___p_r_i_n_t_f │ │ │ │ │ +int Vio_printf(Vio *thee, char *parms,...) │ │ │ │ │ +Mimic "printf" from an arbitrary Vio device. │ │ │ │ │ +_V_i_o___s_o_c_k_e_t_O_p_e_n │ │ │ │ │ +Vio * Vio_socketOpen(char *key, const char *iodev, const char *iofmt, const │ │ │ │ │ +char *iohost, const char *iofile) │ │ │ │ │ +Socket open for read or write. │ │ │ │ │ +_V_i_o___s_e_t_W_h_i_t_e_C_h_a_r_s │ │ │ │ │ +void Vio_setWhiteChars(Vio *thee, char *whiteChars) │ │ │ │ │ +Set the white character set for I/O stream. │ │ │ │ │ +_V_i_o___s_o_c_k_e_t_C_l_o_s_e │ │ │ │ │ +void Vio_socketClose(Vio **sock) │ │ │ │ │ +Socket close from read or write. │ │ │ │ │ +_V_i_o___c_o_n_n_e_c_t │ │ │ │ │ +int Vio_connect(Vio *thee, int nonblock) │ │ │ │ │ +Connect to some socket on a remote machine (or on our machine) │ │ │ │ │ +_V_I_O_f_r_m_t │ │ │ │ │ +VIOfrmt │ │ │ │ │ +Parameter for compression type (XDR,ASC) │ │ │ │ │ +DDeeffiinniittiioonn vio.h:76 │ │ │ │ │ +_V_i_o___a_c_c_e_p_t │ │ │ │ │ +int Vio_accept(Vio *thee, int nonblock) │ │ │ │ │ +Accept any waiting connect attempt to our socket on our machine. │ │ │ │ │ +_V_i_o___c_t_o_r │ │ │ │ │ +Vio * Vio_ctor(const char *socktype, const char *datafrmt, const char │ │ │ │ │ +*hostname, const char *filename, const char *rwkey) │ │ │ │ │ +Construct the Vio object. │ │ │ │ │ +_V_I_O_t_y_p_e │ │ │ │ │ +VIOtype │ │ │ │ │ +Parameter for I/O type (sdio,buff,file,unix,inet) │ │ │ │ │ +DDeeffiinniittiioonn vio.h:62 │ │ │ │ │ +_V_i_o___d_t_o_r │ │ │ │ │ +void Vio_dtor(Vio **thee) │ │ │ │ │ +Destruct the Vio object. │ │ │ │ │ +_V_i_o___r_e_a_d │ │ │ │ │ +int Vio_read(Vio *thee, char *buf, int bufsize) │ │ │ │ │ +Read (up to) bufsize characters into buf from input device. │ │ │ │ │ +_V_i_o___b_u_f_T_a_k_e │ │ │ │ │ +void Vio_bufTake(Vio *thee, char *buf, int bufsize) │ │ │ │ │ +Set the pointer to the internal buffer. │ │ │ │ │ +_V_i_o___c_o_n_n_e_c_t_F_r_e_e │ │ │ │ │ +void Vio_connectFree(Vio *thee) │ │ │ │ │ +Purge any output buffers (for , else a no-op) │ │ │ │ │ +_V_i_o___s_e_t_C_o_m_m_C_h_a_r_s │ │ │ │ │ +void Vio_setCommChars(Vio *thee, char *commChars) │ │ │ │ │ +Set the comment character set for I/O stream. │ │ │ │ │ +_V_i_o___b_u_f_G_i_v_e │ │ │ │ │ +char * Vio_bufGive(Vio *thee) │ │ │ │ │ +Return the pointer to the internal buffer. │ │ │ │ │ +_V_I_O_r_w_k_e_y │ │ │ │ │ +VIOrwkey │ │ │ │ │ +Parameter for rw type (R,RW) │ │ │ │ │ +DDeeffiinniittiioonn vio.h:87 │ │ │ │ │ +_V_i_o___d_t_o_r_2 │ │ │ │ │ +void Vio_dtor2(Vio *thee) │ │ │ │ │ +Work routine that Vio_dtor calls to do most of the destruction. │ │ │ │ │ +_V_i_o___c_t_o_r_2 │ │ │ │ │ +int Vio_ctor2(Vio *thee, const char *socktype, const char *datafrmt, const char │ │ │ │ │ +*hostname, const char *filename, const char *rwkey) │ │ │ │ │ +Work routine that Vio_ctor calls to do most of the construction. │ │ │ │ │ +_V_I_O___X_D_R │ │ │ │ │ +@ VIO_XDR │ │ │ │ │ +DDeeffiinniittiioonn vio.h:78 │ │ │ │ │ +_V_I_O___N_O___F_R_M_T │ │ │ │ │ +@ VIO_NO_FRMT │ │ │ │ │ +DDeeffiinniittiioonn vio.h:77 │ │ │ │ │ +_V_I_O___A_S_C │ │ │ │ │ +@ VIO_ASC │ │ │ │ │ +DDeeffiinniittiioonn vio.h:79 │ │ │ │ │ +_V_I_O___N_O___T_Y_P_E │ │ │ │ │ +@ VIO_NO_TYPE │ │ │ │ │ +DDeeffiinniittiioonn vio.h:63 │ │ │ │ │ +_V_I_O___F_I_L_E │ │ │ │ │ +@ VIO_FILE │ │ │ │ │ +DDeeffiinniittiioonn vio.h:66 │ │ │ │ │ +_V_I_O___U_N_I_X │ │ │ │ │ +@ VIO_UNIX │ │ │ │ │ +DDeeffiinniittiioonn vio.h:67 │ │ │ │ │ +_V_I_O___B_U_F_F │ │ │ │ │ +@ VIO_BUFF │ │ │ │ │ +DDeeffiinniittiioonn vio.h:65 │ │ │ │ │ +_V_I_O___S_D_I_O │ │ │ │ │ +@ VIO_SDIO │ │ │ │ │ +DDeeffiinniittiioonn vio.h:64 │ │ │ │ │ +_V_I_O___I_N_E_T │ │ │ │ │ +@ VIO_INET │ │ │ │ │ +DDeeffiinniittiioonn vio.h:68 │ │ │ │ │ +_V_I_O___N_O___R_W │ │ │ │ │ +@ VIO_NO_RW │ │ │ │ │ +DDeeffiinniittiioonn vio.h:88 │ │ │ │ │ +_V_I_O___W │ │ │ │ │ +@ VIO_W │ │ │ │ │ +DDeeffiinniittiioonn vio.h:90 │ │ │ │ │ +_V_I_O___R │ │ │ │ │ +@ VIO_R │ │ │ │ │ +DDeeffiinniittiioonn vio.h:89 │ │ │ │ │ +_s_V_i_o │ │ │ │ │ +Contains public data members for Vio class. │ │ │ │ │ +DDeeffiinniittiioonn vio.h:98 │ │ │ │ │ +_s_V_i_o_:_:_p_u_t_B_u_f_f_e_r │ │ │ │ │ +char putBuffer[VMAX_BUFSIZE] │ │ │ │ │ +DDeeffiinniittiioonn vio.h:137 │ │ │ │ │ +_s_V_i_o_:_:_t_y_p_e │ │ │ │ │ +VIOtype type │ │ │ │ │ +DDeeffiinniittiioonn vio.h:100 │ │ │ │ │ +_s_V_i_o_:_:_i_o_B_u_f_f_e_r_L_e_n │ │ │ │ │ +int ioBufferLen │ │ │ │ │ +DDeeffiinniittiioonn vio.h:135 │ │ │ │ │ +_s_V_i_o_:_:_r_w_k_e_y │ │ │ │ │ +VIOrwkey rwkey │ │ │ │ │ +DDeeffiinniittiioonn vio.h:113 │ │ │ │ │ +_s_V_i_o_:_:_c_o_m_m_C_h_a_r_s │ │ │ │ │ +char commChars[VMAX_ARGNUM] │ │ │ │ │ +DDeeffiinniittiioonn vio.h:132 │ │ │ │ │ +_s_V_i_o_:_:_V_I_O_b_u_f_f_e_r_P_t_r │ │ │ │ │ +int VIObufferPtr │ │ │ │ │ +DDeeffiinniittiioonn vio.h:142 │ │ │ │ │ +_s_V_i_o_:_:_f_p │ │ │ │ │ +FILE * fp │ │ │ │ │ +DDeeffiinniittiioonn vio.h:125 │ │ │ │ │ +_s_V_i_o_:_:_f_r_m_t │ │ │ │ │ +VIOfrmt frmt │ │ │ │ │ +DDeeffiinniittiioonn vio.h:108 │ │ │ │ │ +_s_V_i_o_:_:_d_i_r_t_y │ │ │ │ │ +int dirty │ │ │ │ │ +DDeeffiinniittiioonn vio.h:123 │ │ │ │ │ +_s_V_i_o_:_:_s_o_c │ │ │ │ │ +int soc │ │ │ │ │ +DDeeffiinniittiioonn vio.h:127 │ │ │ │ │ +_s_V_i_o_:_:_l_h_o_s_t │ │ │ │ │ +char lhost[VMAX_ARGLEN] │ │ │ │ │ +DDeeffiinniittiioonn vio.h:119 │ │ │ │ │ +_s_V_i_o_:_:_w_h_i_t_e_C_h_a_r_s │ │ │ │ │ +char whiteChars[VMAX_ARGNUM] │ │ │ │ │ +DDeeffiinniittiioonn vio.h:131 │ │ │ │ │ +_s_V_i_o_:_:_i_o_B_u_f_f_e_r │ │ │ │ │ +char ioBuffer[VMAX_BUFSIZE] │ │ │ │ │ +DDeeffiinniittiioonn vio.h:134 │ │ │ │ │ +_s_V_i_o_:_:_V_I_O_b_u_f_f_e_r_L_e_n │ │ │ │ │ +int VIObufferLen │ │ │ │ │ +DDeeffiinniittiioonn vio.h:141 │ │ │ │ │ +_s_V_i_o_:_:_f_i_l_e │ │ │ │ │ +char file[VMAX_ARGLEN] │ │ │ │ │ +DDeeffiinniittiioonn vio.h:118 │ │ │ │ │ +_s_V_i_o_:_:_n_a_m_e │ │ │ │ │ +void * name │ │ │ │ │ +DDeeffiinniittiioonn vio.h:128 │ │ │ │ │ +_s_V_i_o_:_:_a_x_d_r │ │ │ │ │ +void * axdr │ │ │ │ │ +DDeeffiinniittiioonn vio.h:129 │ │ │ │ │ +_s_V_i_o_:_:_V_I_O_b_u_f_f_e_r │ │ │ │ │ +char * VIObuffer │ │ │ │ │ +DDeeffiinniittiioonn vio.h:140 │ │ │ │ │ +_s_V_i_o_:_:_p_u_t_B_u_f_f_e_r_L_e_n │ │ │ │ │ +int putBufferLen │ │ │ │ │ +DDeeffiinniittiioonn vio.h:138 │ │ │ │ │ +_s_V_i_o_:_:_s_o │ │ │ │ │ +int so │ │ │ │ │ +DDeeffiinniittiioonn vio.h:126 │ │ │ │ │ +_s_V_i_o_:_:_r_h_o_s_t │ │ │ │ │ +char rhost[VMAX_ARGLEN] │ │ │ │ │ +DDeeffiinniittiioonn vio.h:120 │ │ │ │ │ +_s_V_i_o_:_:_e_r_r_o_r │ │ │ │ │ +int error │ │ │ │ │ +DDeeffiinniittiioonn vio.h:122 │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00024.dot.gz │ │ │ │ ├── a00024.dot │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ -digraph "vsys.h" │ │ │ │ │ +digraph "vio.h" │ │ │ │ │ { │ │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ │ bgcolor="transparent"; │ │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ │ - Node1 [id="Node000001",label="vsys.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ + Node1 [id="Node000001",label="vio.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node2 [id="Node000002",label="maloc/maloc_base.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00002.html",tooltip="The base (or foundation) header for MALOC."]; │ │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node3 [id="Node000003",label="assert.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node4 [id="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node4 [id="Node000004",label="ctype.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ @@ -36,23 +36,8 @@ │ │ │ │ │ Node2 -> Node16 [id="edge15_Node000002_Node000016",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 [id="Node000018",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node1 -> Node19 [id="edge19_Node000001_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node19 [id="Node000019",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ - Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node1 -> Node20 [id="edge21_Node000001_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node20 [id="Node000020",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ - Node20 -> Node2 [id="edge22_Node000020_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node20 -> Node18 [id="edge23_Node000020_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node1 -> Node21 [id="edge24_Node000001_Node000021",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 [id="Node000021",label="maloc/vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ - Node21 -> Node2 [id="edge25_Node000021_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 -> Node18 [id="edge26_Node000021_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 -> Node19 [id="edge27_Node000021_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node1 -> Node22 [id="edge28_Node000001_Node000022",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node22 [id="Node000022",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ - Node22 -> Node2 [id="edge29_Node000022_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00025.dot │ │ │ │ @@ -1,26 +1,28 @@ │ │ │ │ -digraph "vsys.h" │ │ │ │ +digraph "vio.h" │ │ │ │ { │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ bgcolor="transparent"; │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ - Node1 [id="Node000001",label="vsys.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ + Node1 [id="Node000001",label="vio.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 [id="Node000002",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ - Node1 -> Node3 [id="edge2_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 [id="Node000003",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ - Node3 -> Node2 [id="edge3_Node000003_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node1 -> Node4 [id="edge4_Node000001_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node4 [id="Node000004",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ - Node4 -> Node5 [id="edge5_Node000004_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node5 [id="Node000005",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ - Node5 -> Node3 [id="edge6_Node000005_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node1 -> Node5 [id="edge7_Node000001_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node1 -> Node6 [id="edge8_Node000001_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node6 [id="Node000006",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ - Node6 -> Node5 [id="edge9_Node000006_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node1 -> Node7 [id="edge10_Node000001_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node7 [id="Node000007",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ - Node7 -> Node2 [id="edge11_Node000007_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node7 -> Node3 [id="edge12_Node000007_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 [id="Node000002",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ + Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node3 [id="Node000003",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ + Node2 -> Node4 [id="edge3_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node4 [id="Node000004",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ + Node4 -> Node3 [id="edge4_Node000004_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 -> Node5 [id="edge5_Node000002_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node5 [id="Node000005",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ + Node5 -> Node6 [id="edge6_Node000005_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node6 [id="Node000006",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ + Node6 -> Node4 [id="edge7_Node000006_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 -> Node6 [id="edge8_Node000002_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 -> Node7 [id="edge9_Node000002_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node7 [id="Node000007",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ + Node7 -> Node6 [id="edge10_Node000007_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 -> Node8 [id="edge11_Node000002_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node8 [id="Node000008",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ + Node8 -> Node3 [id="edge12_Node000008_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node8 -> Node4 [id="edge13_Node000008_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00026.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vmem.h File Reference │ │ │ │ +MALOC: vpred.h File Reference │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -40,109 +40,104 @@ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -Classes | │ │ │ │ -Typedefs | │ │ │ │ +Macros | │ │ │ │ Functions
│ │ │ │ -
vmem.h File Reference
│ │ │ │ +
vpred.h File Reference
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ -

Class Vmem: A safer, object-oriented, malloc/free object. │ │ │ │ +

Header file for the Geometric Predicates. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │
│ │ │ │ -Include dependency graph for vmem.h:
│ │ │ │ +Include dependency graph for vpred.h:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │

Go to the source code of this file.

│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -

│ │ │ │ -Classes

struct  sVmem
 Contains public data members for Vmem class. More...
 
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │

│ │ │ │ -Typedefs

typedef struct sVmem Vmem
 Declaration of the Vmem class as the Vmem structure.
 

│ │ │ │ +Macros

#define INEXACT   /* Nothing */
 Parameters and constants "INEXACT".
 
#define REAL   double
 float or double
 
#define REALPRINT   doubleprint
 Print the bit representation of a double.
 
#define REALRAND   doublerand
 Generate a double with random 53-bit significand and a random exponent in [0, 511].
 
#define NARROWRAND   narrowdoublerand
 Generate a double with random 53-bit significand and a random exponent in [0, 7].
 
#define UNIFORMRAND   uniformdoublerand
 Generate a double with random 53-bit significand.
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │

│ │ │ │ Functions

size_t Vmem_bytesTotal (void)
 Return total of all active Vmem malloc areas (current footprint)
 
size_t Vmem_mallocBytesTotal (void)
 Return total of all Vmem malloc allocations.
 
size_t Vmem_freeBytesTotal (void)
 Return total of all Vmem free calls.
 
size_t Vmem_highWaterTotal (void)
 Return the high-water byte mark (largest footprint)
 
size_t Vmem_mallocAreasTotal (void)
 Return total of all active Vmem malloc areas by groups.
 
void Vmem_printTotal (void)
 Print current memory statistics for all Vmem malloc/free areas.
 
VmemVmem_ctor (char *name)
 Construct the dynamic memory allocation logging object.
 
void Vmem_dtor (Vmem **thee)
 Destruct the dynamic memory allocation logging object.
 
void * Vmem_malloc (Vmem *thee, size_t num, size_t size)
 A safe logged version of malloc.
 
void Vmem_free (Vmem *thee, size_t num, size_t size, void **ram)
 A safe logged version of free.
 
void * Vmem_realloc (Vmem *thee, size_t num, size_t size, void **ram, size_t newNum)
 A safe logged version of realloc (usually a bad idea to use this)
 
size_t Vmem_bytes (Vmem *thee)
 Return total of all ACTIVE malloc areas used by Vmem object.
 
size_t Vmem_mallocBytes (Vmem *thee)
 Return total of all mallocs performed by Vmem object.
 
size_t Vmem_freeBytes (Vmem *thee)
 Return total of all frees performed by Vmem object.
 
size_t Vmem_highWater (Vmem *thee)
 Return high-water malloc bytemark hit by Vmem object.
 
size_t Vmem_mallocAreas (Vmem *thee)
 Return total number of individual active malloc areas.
 
void Vmem_print (Vmem *thee)
 Print current memory stats associated with this Vmem object.
 
void Vpred_exactinit (void)
 Initialize the variables used for exact arithmetic.
 
REAL Vpred_orient2d (REAL *pa, REAL *pb, REAL *pc)
 Adaptive exact 2D orientation test. Robust.
 
REAL Vpred_orient2dfast (REAL *pa, REAL *pb, REAL *pc)
 Approximate 2D orientation test. Nonrobust.
 
REAL Vpred_orient2dexact (REAL *pa, REAL *pb, REAL *pc)
 Exact 2D orientation test. Robust.
 
REAL Vpred_orient3d (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Adaptive exact 3D orientation test. Robust.
 
REAL Vpred_orient3dfast (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Approximate 3D orientation test. Nonrobust.
 
REAL Vpred_orient3dexact (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Exact 3D orientation test. Robust.
 
REAL Vpred_incircle (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Adaptive exact 2D incircle test. Robust.
 
REAL Vpred_incirclefast (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Approximate 2D incircle test. Nonrobust.
 
REAL Vpred_incircleexact (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Exact 2D incircle test. Robust.
 
REAL Vpred_insphere (REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
 Adaptive exact 3D insphere test. Robust.
 
REAL Vpred_inspherefast (REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
 Approximate 3D insphere test. Nonrobust.
 
REAL Vpred_insphereexact (REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
 Exact 3D insphere test. Robust.
 
│ │ │ │

Detailed Description

│ │ │ │ -

Class Vmem: A safer, object-oriented, malloc/free object.

│ │ │ │ -
Author
Michael Holst
│ │ │ │ -
Note
None
│ │ │ │ +

Header file for the Geometric Predicates.

│ │ │ │
Version
│ │ │ │ -
Id
vmem.h,v 1.21 2010/08/12 05:40:36 fetk Exp
│ │ │ │ +
Id
vpred.h,v 1.4 2010/08/12 05:40:37 fetk Exp
│ │ │ │ +
Author
Michael Holst
│ │ │ │
Attention
*
│ │ │ │  * MALOC = < Minimal Abstraction Layer for Object-oriented C >
│ │ │ │  * Copyright (C) 1994-- Michael Holst
│ │ │ │  *
│ │ │ │  * This library is free software; you can redistribute it and/or
│ │ │ │  * modify it under the terms of the GNU Lesser General Public
│ │ │ │  * License as published by the Free Software Foundation; either
│ │ │ │ @@ -153,15 +148,758 @@
│ │ │ │  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
│ │ │ │  * Lesser General Public License for more details.
│ │ │ │  *
│ │ │ │  * You should have received a copy of the GNU Lesser General Public
│ │ │ │  * License along with this library; if not, write to the Free Software
│ │ │ │  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
│ │ │ │  * 
│ │ │ │ -* 
│ │ │ │ -
│ │ │ │ +* │ │ │ │ +

Macro Definition Documentation

│ │ │ │ + │ │ │ │ +

◆ INEXACT

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define INEXACT   /* Nothing */
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Parameters and constants "INEXACT".

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ NARROWRAND

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define NARROWRAND   narrowdoublerand
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Generate a double with random 53-bit significand and a random exponent in [0, 7].

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ REAL

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define REAL   double
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

float or double

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ REALPRINT

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define REALPRINT   doubleprint
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Print the bit representation of a double.

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ REALRAND

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define REALRAND   doublerand
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Generate a double with random 53-bit significand and a random exponent in [0, 511].

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ UNIFORMRAND

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
#define UNIFORMRAND   uniformdoublerand
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Generate a double with random 53-bit significand.

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ +

Function Documentation

│ │ │ │ + │ │ │ │ +

◆ Vpred_exactinit()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
void Vpred_exactinit (void )
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Initialize the variables used for exact arithmetic.

│ │ │ │ +
Note
‘epsilon’ is the largest power of two such that 1.0 + epsilon = 1.0 in floating-point arithmetic. ‘epsilon’ bounds the relative roundoff error. It is used for floating-point error analysis. ‘splitter’ is used to split floating-point numbers into two half- length significands for exact multiplication. I imagine that a highly optimizing compiler might be too smart for its own good, and somehow cause this routine to fail, if it pretends that floating-point arithmetic is too much like real arithmetic. Don't change this routine unless you fully understand it.
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_incircle()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_incircle (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Adaptive exact 2D incircle test. Robust.

│ │ │ │ +
Returns
a positive value if the point pd lies inside the circle passing through pa, pb, and pc; a negative value if it lies outside; and zero if the four points are cocircular. The points pa, pb, and pc must be in counterclockwise order, or the sign of the result will be reversed.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_incircleexact()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_incircleexact (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Exact 2D incircle test. Robust.

│ │ │ │ +
Returns
a positive value if the point pd lies inside the circle passing through pa, pb, and pc; a negative value if it lies outside; and zero if the four points are cocircular. The points pa, pb, and pc must be in counterclockwise order, or the sign of the result will be reversed.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_incirclefast()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_incirclefast (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Approximate 2D incircle test. Nonrobust.

│ │ │ │ +
Returns
a positive value if the point pd lies inside the circle passing through pa, pb, and pc; a negative value if it lies outside; and zero if the four points are cocircular. The points pa, pb, and pc must be in counterclockwise order, or the sign of the result will be reversed.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_insphere()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_insphere (REALpa,
REALpb,
REALpc,
REALpd,
REALpe 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Adaptive exact 3D insphere test. Robust.

│ │ │ │ +
Returns
a positive value if the point pe lies inside the sphere passing through pa, pb, pc, and pd; a negative value if it lies outside; and zero if the five points are cospherical. The points pa, pb, pc, and pd must be ordered so that they have a positive orientation (as defined by orient3d()), or the sign of the result will be reversed.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
pePointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_insphereexact()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_insphereexact (REALpa,
REALpb,
REALpc,
REALpd,
REALpe 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Exact 3D insphere test. Robust.

│ │ │ │ +
Returns
a positive value if the point pe lies inside the sphere passing through pa, pb, pc, and pd; a negative value if it lies outside; and zero if the five points are cospherical. The points pa, pb, pc, and pd must be ordered so that they have a positive orientation (as defined by orient3d()), or the sign of the result will be reversed.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
pePointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_inspherefast()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_inspherefast (REALpa,
REALpb,
REALpc,
REALpd,
REALpe 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Approximate 3D insphere test. Nonrobust.

│ │ │ │ +
Returns
a positive value if the point pe lies inside the sphere passing through pa, pb, pc, and pd; a negative value if it lies outside; and zero if the five points are cospherical. The points pa, pb, pc, and pd must be ordered so that they have a positive orientation (as defined by orient3d()), or the sign of the result will be reversed.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
pePointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_orient2d()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_orient2d (REALpa,
REALpb,
REALpc 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Adaptive exact 2D orientation test. Robust.

│ │ │ │ +
Returns
a positive value if the points pa, pb, and pc occur in counterclockwise order; a negative value if they occur in clockwise order; and zero if they are collinear. The result is also a rough approximation of twice the signed area of the triangle defined by the three points.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_orient2dexact()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_orient2dexact (REALpa,
REALpb,
REALpc 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Exact 2D orientation test. Robust.

│ │ │ │ +
Returns
a positive value if the points pa, pb, and pc occur in counterclockwise order; a negative value if they occur in clockwise order; and zero if they are collinear. The result is also a rough approximation of twice the signed area of the triangle defined by the three points.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_orient2dfast()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_orient2dfast (REALpa,
REALpb,
REALpc 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Approximate 2D orientation test. Nonrobust.

│ │ │ │ +
Returns
a positive value if the points pa, pb, and pc occur in counterclockwise order; a negative value if they occur in clockwise order; and zero if they are collinear. The result is also a rough approximation of twice the signed area of the triangle defined by the three points.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_orient3d()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_orient3d (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Adaptive exact 3D orientation test. Robust.

│ │ │ │ +
Returns
a positive value if the point pd lies below the plane passing through pa, pb, and pc; "below" is defined so that pa, pb, and pc appear in counterclockwise order when viewed from above the plane. Returns a negative value if pd lies above the plane. Returns zero if the points are coplanar. The result is also a rough approximation of six times the signed volume of the tetrahedron defined by the four points.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_orient3dexact()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_orient3dexact (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Exact 3D orientation test. Robust.

│ │ │ │ +
Returns
a positive value if the point pd lies below the plane passing through pa, pb, and pc; "below" is defined so that pa, pb, and pc appear in counterclockwise order when viewed from above the plane. Returns a negative value if pd lies above the plane. Returns zero if the points are coplanar. The result is also a rough approximation of six times the signed volume of the tetrahedron defined by the four points.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

◆ Vpred_orient3dfast()

│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
REAL Vpred_orient3dfast (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ +
│ │ │ │ + │ │ │ │ +

Approximate 3D orientation test. Nonrobust.

│ │ │ │ +
Returns
a positive value if the point pd lies below the plane passing through pa, pb, and pc; "below" is defined so that pa, pb, and pc appear in counterclockwise order when viewed from above the plane. Returns a negative value if pd lies above the plane. Returns zero if the points are coplanar. The result is also a rough approximation of six times the signed volume of the tetrahedron defined by the four points.
│ │ │ │ +
Parameters
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ +
│ │ │ │ +
│ │ │ │ + │ │ │ │ +
│ │ │ │ +
│ │ │ │ +
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,89 +1,86 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _v_s_y_s │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -_C_l_a_s_s_e_s | _T_y_p_e_d_e_f_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ -vmem.h File Reference │ │ │ │ │ -_V_m_e_m_ _c_l_a_s_s │ │ │ │ │ -Class Vmem: A safer, object-oriented, malloc/free object. _M_o_r_e_._._. │ │ │ │ │ +_M_a_c_r_o_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ +vpred.h File Reference │ │ │ │ │ +Header file for the Geometric Predicates. _M_o_r_e_._._. │ │ │ │ │ #include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ -Include dependency graph for vmem.h: │ │ │ │ │ +Include dependency graph for vpred.h: │ │ │ │ │ This graph shows which files directly or indirectly include this file: │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _s_o_u_r_c_e_ _c_o_d_e_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ -CCllaasssseess │ │ │ │ │ -struct   _s_V_m_e_m │ │ │ │ │ -  Contains public data members for Vmem class. _M_o_r_e_._._. │ │ │ │ │ -  │ │ │ │ │ -TTyyppeeddeeffss │ │ │ │ │ -typedef struct _s_V_m_e_m  _V_m_e_m │ │ │ │ │ -  Declaration of the Vmem class as the Vmem structure. │ │ │ │ │ +MMaaccrrooss │ │ │ │ │ +#define  _I_N_E_X_A_C_T   /* Nothing */ │ │ │ │ │ +  Parameters and constants "INEXACT". │ │ │ │ │ +  │ │ │ │ │ +#define  _R_E_A_L   double │ │ │ │ │ +  float or double │ │ │ │ │ +  │ │ │ │ │ +#define  _R_E_A_L_P_R_I_N_T   doubleprint │ │ │ │ │ +  Print the bit representation of a double. │ │ │ │ │ +  │ │ │ │ │ +#define  _R_E_A_L_R_A_N_D   doublerand │ │ │ │ │ +  Generate a double with random 53-bit significand and a random exponent │ │ │ │ │ + in [0, 511]. │ │ │ │ │ +  │ │ │ │ │ +#define  _N_A_R_R_O_W_R_A_N_D   narrowdoublerand │ │ │ │ │ +  Generate a double with random 53-bit significand and a random exponent │ │ │ │ │ + in [0, 7]. │ │ │ │ │   │ │ │ │ │ -FFuunnccttiioonnss │ │ │ │ │ -size_t  _V_m_e_m___b_y_t_e_s_T_o_t_a_l (void) │ │ │ │ │ -  Return total of all active Vmem malloc areas (current footprint) │ │ │ │ │ -  │ │ │ │ │ -size_t  _V_m_e_m___m_a_l_l_o_c_B_y_t_e_s_T_o_t_a_l (void) │ │ │ │ │ -  Return total of all Vmem malloc allocations. │ │ │ │ │ -  │ │ │ │ │ -size_t  _V_m_e_m___f_r_e_e_B_y_t_e_s_T_o_t_a_l (void) │ │ │ │ │ -  Return total of all Vmem free calls. │ │ │ │ │ +#define  _U_N_I_F_O_R_M_R_A_N_D   uniformdoublerand │ │ │ │ │ +  Generate a double with random 53-bit significand. │ │ │ │ │   │ │ │ │ │ -size_t  _V_m_e_m___h_i_g_h_W_a_t_e_r_T_o_t_a_l (void) │ │ │ │ │ -  Return the high-water byte mark (largest footprint) │ │ │ │ │ -  │ │ │ │ │ -size_t  _V_m_e_m___m_a_l_l_o_c_A_r_e_a_s_T_o_t_a_l (void) │ │ │ │ │ -  Return total of all active Vmem malloc areas by groups. │ │ │ │ │ +FFuunnccttiioonnss │ │ │ │ │ +void  _V_p_r_e_d___e_x_a_c_t_i_n_i_t (void) │ │ │ │ │ +  Initialize the variables used for exact arithmetic. │ │ │ │ │   │ │ │ │ │ - void  _V_m_e_m___p_r_i_n_t_T_o_t_a_l (void) │ │ │ │ │ -  Print current memory statistics for all Vmem malloc/free areas. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_2_d (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc) │ │ │ │ │ +  Adaptive exact 2D orientation test. Robust. │ │ │ │ │   │ │ │ │ │ -_V_m_e_m *  _V_m_e_m___c_t_o_r (char *name) │ │ │ │ │ -  Construct the dynamic memory allocation logging object. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_2_d_f_a_s_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc) │ │ │ │ │ +  Approximate 2D orientation test. Nonrobust. │ │ │ │ │   │ │ │ │ │ - void  _V_m_e_m___d_t_o_r (_V_m_e_m **thee) │ │ │ │ │ -  Destruct the dynamic memory allocation logging object. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_2_d_e_x_a_c_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc) │ │ │ │ │ +  Exact 2D orientation test. Robust. │ │ │ │ │   │ │ │ │ │ -void *  _V_m_e_m___m_a_l_l_o_c (_V_m_e_m *thee, size_t num, size_t size) │ │ │ │ │ -  A safe logged version of malloc. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_3_d (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ +  Adaptive exact 3D orientation test. Robust. │ │ │ │ │   │ │ │ │ │ - void  _V_m_e_m___f_r_e_e (_V_m_e_m *thee, size_t num, size_t size, void **ram) │ │ │ │ │ -  A safe logged version of free. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_3_d_f_a_s_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ +  Approximate 3D orientation test. Nonrobust. │ │ │ │ │   │ │ │ │ │ -void *  _V_m_e_m___r_e_a_l_l_o_c (_V_m_e_m *thee, size_t num, size_t size, void **ram, size_t │ │ │ │ │ - newNum) │ │ │ │ │ -  A safe logged version of realloc (usually a bad idea to use this) │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_3_d_e_x_a_c_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ +  Exact 3D orientation test. Robust. │ │ │ │ │   │ │ │ │ │ -size_t  _V_m_e_m___b_y_t_e_s (_V_m_e_m *thee) │ │ │ │ │ -  Return total of all ACTIVE malloc areas used by Vmem object. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___i_n_c_i_r_c_l_e (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ +  Adaptive exact 2D incircle test. Robust. │ │ │ │ │   │ │ │ │ │ -size_t  _V_m_e_m___m_a_l_l_o_c_B_y_t_e_s (_V_m_e_m *thee) │ │ │ │ │ -  Return total of all mallocs performed by Vmem object. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___i_n_c_i_r_c_l_e_f_a_s_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ +  Approximate 2D incircle test. Nonrobust. │ │ │ │ │   │ │ │ │ │ -size_t  _V_m_e_m___f_r_e_e_B_y_t_e_s (_V_m_e_m *thee) │ │ │ │ │ -  Return total of all frees performed by Vmem object. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___i_n_c_i_r_c_l_e_e_x_a_c_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ +  Exact 2D incircle test. Robust. │ │ │ │ │   │ │ │ │ │ -size_t  _V_m_e_m___h_i_g_h_W_a_t_e_r (_V_m_e_m *thee) │ │ │ │ │ -  Return high-water malloc bytemark hit by Vmem object. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___i_n_s_p_h_e_r_e (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe) │ │ │ │ │ +  Adaptive exact 3D insphere test. Robust. │ │ │ │ │   │ │ │ │ │ -size_t  _V_m_e_m___m_a_l_l_o_c_A_r_e_a_s (_V_m_e_m *thee) │ │ │ │ │ -  Return total number of individual active malloc areas. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___i_n_s_p_h_e_r_e_f_a_s_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe) │ │ │ │ │ +  Approximate 3D insphere test. Nonrobust. │ │ │ │ │   │ │ │ │ │ - void  _V_m_e_m___p_r_i_n_t (_V_m_e_m *thee) │ │ │ │ │ -  Print current memory stats associated with this Vmem object. │ │ │ │ │ +_R_E_A_L  _V_p_r_e_d___i_n_s_p_h_e_r_e_e_x_a_c_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe) │ │ │ │ │ +  Exact 3D insphere test. Robust. │ │ │ │ │   │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ -Class Vmem: A safer, object-oriented, malloc/free object. │ │ │ │ │ - Author │ │ │ │ │ - Michael Holst │ │ │ │ │ - Note │ │ │ │ │ - None │ │ │ │ │ +Header file for the Geometric Predicates. │ │ │ │ │ Version │ │ │ │ │ Id │ │ │ │ │ - _v_m_e_m_._h,v 1.21 2010/08/12 05:40:36 fetk Exp │ │ │ │ │ + _v_p_r_e_d_._h,v 1.4 2010/08/12 05:40:37 fetk Exp │ │ │ │ │ + Author │ │ │ │ │ + Michael Holst │ │ │ │ │ Attention │ │ │ │ │ * │ │ │ │ │ * MALOC = < Minimal Abstraction Layer for Object-oriented C > │ │ │ │ │ * Copyright (C) 1994-- Michael Holst │ │ │ │ │ * │ │ │ │ │ * This library is free software; you can redistribute it and/or │ │ │ │ │ * modify it under the terms of the GNU Lesser General Public │ │ │ │ │ @@ -96,9 +93,256 @@ │ │ │ │ │ * Lesser General Public License for more details. │ │ │ │ │ * │ │ │ │ │ * You should have received a copy of the GNU Lesser General Public │ │ │ │ │ * License along with this library; if not, write to the Free Software │ │ │ │ │ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA │ │ │ │ │ * │ │ │ │ │ * │ │ │ │ │ +********** MMaaccrroo DDeeffiinniittiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ +********** _?◆_? IINNEEXXAACCTT ********** │ │ │ │ │ +#define INEXACT   /* Nothing */ │ │ │ │ │ +Parameters and constants "INEXACT". │ │ │ │ │ +********** _?◆_? NNAARRRROOWWRRAANNDD ********** │ │ │ │ │ +#define NARROWRAND   narrowdoublerand │ │ │ │ │ +Generate a double with random 53-bit significand and a random exponent in [0, │ │ │ │ │ +7]. │ │ │ │ │ +********** _?◆_? RREEAALL ********** │ │ │ │ │ +#define REAL   double │ │ │ │ │ +float or double │ │ │ │ │ +********** _?◆_? RREEAALLPPRRIINNTT ********** │ │ │ │ │ +#define REALPRINT   doubleprint │ │ │ │ │ +Print the bit representation of a double. │ │ │ │ │ +********** _?◆_? RREEAALLRRAANNDD ********** │ │ │ │ │ +#define REALRAND   doublerand │ │ │ │ │ +Generate a double with random 53-bit significand and a random exponent in [0, │ │ │ │ │ +511]. │ │ │ │ │ +********** _?◆_? UUNNIIFFOORRMMRRAANNDD ********** │ │ │ │ │ +#define UNIFORMRAND   uniformdoublerand │ │ │ │ │ +Generate a double with random 53-bit significand. │ │ │ │ │ +********** FFuunnccttiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ +********** _?◆_? VVpprreedd__eexxaaccttiinniitt(()) ********** │ │ │ │ │ +void Vpred_exactinit ( void  ) │ │ │ │ │ +Initialize the variables used for exact arithmetic. │ │ │ │ │ + Note │ │ │ │ │ + ‘epsilon’ is the largest power of two such that 1.0 + epsilon = 1.0 in │ │ │ │ │ + floating-point arithmetic. ‘epsilon’ bounds the relative roundoff error. │ │ │ │ │ + It is used for floating-point error analysis. ‘splitter’ is used to split │ │ │ │ │ + floating-point numbers into two half- length significands for exact │ │ │ │ │ + multiplication. I imagine that a highly optimizing compiler might be too │ │ │ │ │ + smart for its own good, and somehow cause this routine to fail, if it │ │ │ │ │ + pretends that floating-point arithmetic is too much like real arithmetic. │ │ │ │ │ + Don't change this routine unless you fully understand it. │ │ │ │ │ +********** _?◆_? VVpprreedd__iinncciirrccllee(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_incircle ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd  │ │ │ │ │ + ) │ │ │ │ │ +Adaptive exact 2D incircle test. Robust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pd lies inside the circle passing through │ │ │ │ │ + pa, pb, and pc; a negative value if it lies outside; and zero if the four │ │ │ │ │ + points are cocircular. The points pa, pb, and pc must be in │ │ │ │ │ + counterclockwise order, or the sign of the result will be reversed. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__iinncciirrcclleeeexxaacctt(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_incircleexact ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd  │ │ │ │ │ + ) │ │ │ │ │ +Exact 2D incircle test. Robust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pd lies inside the circle passing through │ │ │ │ │ + pa, pb, and pc; a negative value if it lies outside; and zero if the four │ │ │ │ │ + points are cocircular. The points pa, pb, and pc must be in │ │ │ │ │ + counterclockwise order, or the sign of the result will be reversed. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__iinncciirrcclleeffaasstt(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_incirclefast ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd  │ │ │ │ │ + ) │ │ │ │ │ +Approximate 2D incircle test. Nonrobust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pd lies inside the circle passing through │ │ │ │ │ + pa, pb, and pc; a negative value if it lies outside; and zero if the four │ │ │ │ │ + points are cocircular. The points pa, pb, and pc must be in │ │ │ │ │ + counterclockwise order, or the sign of the result will be reversed. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__iinnsspphheerree(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_insphere ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd, │ │ │ │ │ + _R_E_A_L *  ppee  │ │ │ │ │ + ) │ │ │ │ │ +Adaptive exact 3D insphere test. Robust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pe lies inside the sphere passing through │ │ │ │ │ + pa, pb, pc, and pd; a negative value if it lies outside; and zero if the │ │ │ │ │ + five points are cospherical. The points pa, pb, pc, and pd must be │ │ │ │ │ + ordered so that they have a positive orientation (as defined by orient3d │ │ │ │ │ + ()), or the sign of the result will be reversed. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ + pe Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__iinnsspphheerreeeexxaacctt(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_insphereexact ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd, │ │ │ │ │ + _R_E_A_L *  ppee  │ │ │ │ │ + ) │ │ │ │ │ +Exact 3D insphere test. Robust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pe lies inside the sphere passing through │ │ │ │ │ + pa, pb, pc, and pd; a negative value if it lies outside; and zero if the │ │ │ │ │ + five points are cospherical. The points pa, pb, pc, and pd must be │ │ │ │ │ + ordered so that they have a positive orientation (as defined by orient3d │ │ │ │ │ + ()), or the sign of the result will be reversed. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ + pe Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__iinnsspphheerreeffaasstt(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_inspherefast ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd, │ │ │ │ │ + _R_E_A_L *  ppee  │ │ │ │ │ + ) │ │ │ │ │ +Approximate 3D insphere test. Nonrobust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pe lies inside the sphere passing through │ │ │ │ │ + pa, pb, pc, and pd; a negative value if it lies outside; and zero if the │ │ │ │ │ + five points are cospherical. The points pa, pb, pc, and pd must be │ │ │ │ │ + ordered so that they have a positive orientation (as defined by orient3d │ │ │ │ │ + ()), or the sign of the result will be reversed. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ + pe Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__oorriieenntt22dd(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_orient2d ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc  │ │ │ │ │ + ) │ │ │ │ │ +Adaptive exact 2D orientation test. Robust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the points pa, pb, and pc occur in counterclockwise │ │ │ │ │ + order; a negative value if they occur in clockwise order; and zero if │ │ │ │ │ + they are collinear. The result is also a rough approximation of twice the │ │ │ │ │ + signed area of the triangle defined by the three points. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__oorriieenntt22ddeexxaacctt(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_orient2dexact ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc  │ │ │ │ │ + ) │ │ │ │ │ +Exact 2D orientation test. Robust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the points pa, pb, and pc occur in counterclockwise │ │ │ │ │ + order; a negative value if they occur in clockwise order; and zero if │ │ │ │ │ + they are collinear. The result is also a rough approximation of twice the │ │ │ │ │ + signed area of the triangle defined by the three points. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__oorriieenntt22ddffaasstt(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_orient2dfast ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc  │ │ │ │ │ + ) │ │ │ │ │ +Approximate 2D orientation test. Nonrobust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the points pa, pb, and pc occur in counterclockwise │ │ │ │ │ + order; a negative value if they occur in clockwise order; and zero if │ │ │ │ │ + they are collinear. The result is also a rough approximation of twice the │ │ │ │ │ + signed area of the triangle defined by the three points. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__oorriieenntt33dd(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_orient3d ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd  │ │ │ │ │ + ) │ │ │ │ │ +Adaptive exact 3D orientation test. Robust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pd lies below the plane passing through pa, │ │ │ │ │ + pb, and pc; "below" is defined so that pa, pb, and pc appear in │ │ │ │ │ + counterclockwise order when viewed from above the plane. Returns a │ │ │ │ │ + negative value if pd lies above the plane. Returns zero if the points are │ │ │ │ │ + coplanar. The result is also a rough approximation of six times the │ │ │ │ │ + signed volume of the tetrahedron defined by the four points. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__oorriieenntt33ddeexxaacctt(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_orient3dexact ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd  │ │ │ │ │ + ) │ │ │ │ │ +Exact 3D orientation test. Robust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pd lies below the plane passing through pa, │ │ │ │ │ + pb, and pc; "below" is defined so that pa, pb, and pc appear in │ │ │ │ │ + counterclockwise order when viewed from above the plane. Returns a │ │ │ │ │ + negative value if pd lies above the plane. Returns zero if the points are │ │ │ │ │ + coplanar. The result is also a rough approximation of six times the │ │ │ │ │ + signed volume of the tetrahedron defined by the four points. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ +********** _?◆_? VVpprreedd__oorriieenntt33ddffaasstt(()) ********** │ │ │ │ │ +_R_E_A_L Vpred_orient3dfast ( _R_E_A_L *  ppaa, │ │ │ │ │ + _R_E_A_L *  ppbb, │ │ │ │ │ + _R_E_A_L *  ppcc, │ │ │ │ │ + _R_E_A_L *  ppdd  │ │ │ │ │ + ) │ │ │ │ │ +Approximate 3D orientation test. Nonrobust. │ │ │ │ │ + Returns │ │ │ │ │ + a positive value if the point pd lies below the plane passing through pa, │ │ │ │ │ + pb, and pc; "below" is defined so that pa, pb, and pc appear in │ │ │ │ │ + counterclockwise order when viewed from above the plane. Returns a │ │ │ │ │ + negative value if pd lies above the plane. Returns zero if the points are │ │ │ │ │ + coplanar. The result is also a rough approximation of six times the │ │ │ │ │ + signed volume of the tetrahedron defined by the four points. │ │ │ │ │ + Parameters │ │ │ │ │ + pa Pointer to a real parameter │ │ │ │ │ + pb Pointer to a real parameter │ │ │ │ │ + pc Pointer to a real parameter │ │ │ │ │ + pd Pointer to a real parameter │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00026_source.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vmem.h Source File │ │ │ │ +MALOC: vpred.h Source File │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -44,121 +44,95 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
vmem.h
│ │ │ │ +
vpred.h
│ │ │ │
│ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │ -
40#ifndef _VMEM_H_
│ │ │ │ -
41#define _VMEM_H_
│ │ │ │ -
42
│ │ │ │ -
43#include <maloc/maloc_base.h>
│ │ │ │ -
44
│ │ │ │ -
45/*
│ │ │ │ -
46 * ***************************************************************************
│ │ │ │ -
47 * Class Vmem: Parameters and datatypes
│ │ │ │ -
48 * ***************************************************************************
│ │ │ │ -
49 */
│ │ │ │ +
30#ifndef _VPRED_H_
│ │ │ │ +
31#define _VPRED_H_
│ │ │ │ +
32
│ │ │ │ +
33#include <maloc/maloc_base.h>
│ │ │ │ +
34
│ │ │ │ +
35/* random() prototype seems to be missing in <stdlib.h> */
│ │ │ │ +
36/*
│ │ │ │ +
37 * if !defined(VOSF1)
│ │ │ │ +
38 * extern long int random(void);
│ │ │ │ +
39 * endif
│ │ │ │ +
40 */
│ │ │ │ +
41
│ │ │ │ +
42/* On some machines, the exact arithmetic routines might be defeated by the */
│ │ │ │ +
43/* use of internal extended precision floating-point registers. Sometimes */
│ │ │ │ +
44/* this problem can be fixed by defining certain values to be volatile, */
│ │ │ │ +
45/* thus forcing them to be stored to memory and rounded off. This isn't */
│ │ │ │ +
46/* a great solution, though, as it slows the arithmetic down. */
│ │ │ │ +
47/* */
│ │ │ │ +
48/* To try this out, write "#define INEXACT volatile" below. Normally, */
│ │ │ │ +
49/* however, INEXACT should be defined to be nothing. ("#define INEXACT".) */
│ │ │ │
50
│ │ │ │ -
51
│ │ │ │ -
│ │ │ │ -
57struct sVmem {
│ │ │ │ -
58
│ │ │ │ - │ │ │ │ -
61 size_t mallocBytes;
│ │ │ │ -
62 size_t freeBytes;
│ │ │ │ -
63 size_t highWater;
│ │ │ │ -
64 size_t mallocAreas;
│ │ │ │ -
66};
│ │ │ │ -
│ │ │ │ -
67
│ │ │ │ -
73typedef struct sVmem Vmem;
│ │ │ │ -
74
│ │ │ │ -
75/*
│ │ │ │ -
76 * ***************************************************************************
│ │ │ │ -
77 * Class Vmem: Inlineable methods (vmem.c)
│ │ │ │ -
78 * ***************************************************************************
│ │ │ │ -
79 */
│ │ │ │ -
80
│ │ │ │ -
81#if !defined(VINLINE_MALOC)
│ │ │ │ -
82#else /* if defined(VINLINE_MALOC) */
│ │ │ │ -
83#endif /* if !defined(VINLINE_MALOC) */
│ │ │ │ -
84
│ │ │ │ -
85/*
│ │ │ │ -
86 * ***************************************************************************
│ │ │ │ -
87 * Class Vmem: Non-Inlineable methods (vmem.c)
│ │ │ │ -
88 * ***************************************************************************
│ │ │ │ -
89 */
│ │ │ │ -
90
│ │ │ │ -
98size_t Vmem_bytesTotal(void);
│ │ │ │ -
99
│ │ │ │ - │ │ │ │ -
108
│ │ │ │ - │ │ │ │ -
117
│ │ │ │ - │ │ │ │ -
126
│ │ │ │ - │ │ │ │ -
135
│ │ │ │ - │ │ │ │ -
144
│ │ │ │ - │ │ │ │ -
154
│ │ │ │ -
163void Vmem_dtor(Vmem **thee);
│ │ │ │ -
164
│ │ │ │ -
175void *Vmem_malloc(Vmem *thee, size_t num, size_t size);
│ │ │ │ -
176
│ │ │ │ -
188void Vmem_free(Vmem *thee, size_t num, size_t size, void **ram);
│ │ │ │ -
189
│ │ │ │ -
202void *Vmem_realloc(Vmem *thee, size_t num, size_t size, void **ram,
│ │ │ │ -
203 size_t newNum);
│ │ │ │ -
204
│ │ │ │ -
213size_t Vmem_bytes(Vmem *thee);
│ │ │ │ +
52#define INEXACT /* Nothing */
│ │ │ │ +
53/* #define INEXACT volatile */
│ │ │ │ +
54
│ │ │ │ +
56#define REAL double
│ │ │ │ +
57
│ │ │ │ +
59#define REALPRINT doubleprint
│ │ │ │ +
60
│ │ │ │ +
63#define REALRAND doublerand
│ │ │ │ +
64
│ │ │ │ +
67#define NARROWRAND narrowdoublerand
│ │ │ │ +
68
│ │ │ │ +
70#define UNIFORMRAND uniformdoublerand
│ │ │ │ +
71
│ │ │ │ +
84void Vpred_exactinit(void);
│ │ │ │ +
85
│ │ │ │ + │ │ │ │ +
98
│ │ │ │ + │ │ │ │ +
111
│ │ │ │ + │ │ │ │ +
124
│ │ │ │ +
139REAL Vpred_orient3d(REAL *pa, REAL *pb, REAL *pc, REAL *pd);
│ │ │ │ +
140
│ │ │ │ + │ │ │ │ +
156
│ │ │ │ + │ │ │ │ +
172
│ │ │ │ +
185REAL Vpred_incircle(REAL *pa, REAL *pb, REAL *pc, REAL *pd);
│ │ │ │ +
186
│ │ │ │ + │ │ │ │ +
200
│ │ │ │ + │ │ │ │
214
│ │ │ │ -
223size_t Vmem_mallocBytes(Vmem *thee);
│ │ │ │ -
224
│ │ │ │ -
233size_t Vmem_freeBytes(Vmem *thee);
│ │ │ │ -
234
│ │ │ │ -
243size_t Vmem_highWater(Vmem *thee);
│ │ │ │ +
228REAL Vpred_insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe);
│ │ │ │ +
229
│ │ │ │ +
243REAL Vpred_inspherefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe);
│ │ │ │
244
│ │ │ │ -
253size_t Vmem_mallocAreas(Vmem *thee);
│ │ │ │ -
254
│ │ │ │ -
263void Vmem_print(Vmem *thee);
│ │ │ │ -
264
│ │ │ │ -
265#endif /* _VMEM_H_ */
│ │ │ │ -
266
│ │ │ │ +
258REAL Vpred_insphereexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe);
│ │ │ │ +
259
│ │ │ │ +
260#endif /* _VPRED_H_ */
│ │ │ │ +
261
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │ -
#define VMAX_ARGLEN
Global constant.
Definition maloc_base.h:227
│ │ │ │ -
void Vmem_free(Vmem *thee, size_t num, size_t size, void **ram)
A safe logged version of free.
│ │ │ │ -
size_t Vmem_mallocAreas(Vmem *thee)
Return total number of individual active malloc areas.
│ │ │ │ -
size_t Vmem_mallocAreasTotal(void)
Return total of all active Vmem malloc areas by groups.
│ │ │ │ -
void Vmem_printTotal(void)
Print current memory statistics for all Vmem malloc/free areas.
│ │ │ │ -
size_t Vmem_freeBytes(Vmem *thee)
Return total of all frees performed by Vmem object.
│ │ │ │ -
size_t Vmem_highWater(Vmem *thee)
Return high-water malloc bytemark hit by Vmem object.
│ │ │ │ -
void * Vmem_malloc(Vmem *thee, size_t num, size_t size)
A safe logged version of malloc.
│ │ │ │ -
size_t Vmem_bytesTotal(void)
Return total of all active Vmem malloc areas (current footprint)
│ │ │ │ -
size_t Vmem_freeBytesTotal(void)
Return total of all Vmem free calls.
│ │ │ │ -
void * Vmem_realloc(Vmem *thee, size_t num, size_t size, void **ram, size_t newNum)
A safe logged version of realloc (usually a bad idea to use this)
│ │ │ │ -
Vmem * Vmem_ctor(char *name)
Construct the dynamic memory allocation logging object.
│ │ │ │ -
size_t Vmem_highWaterTotal(void)
Return the high-water byte mark (largest footprint)
│ │ │ │ -
size_t Vmem_bytes(Vmem *thee)
Return total of all ACTIVE malloc areas used by Vmem object.
│ │ │ │ -
void Vmem_print(Vmem *thee)
Print current memory stats associated with this Vmem object.
│ │ │ │ -
void Vmem_dtor(Vmem **thee)
Destruct the dynamic memory allocation logging object.
│ │ │ │ -
size_t Vmem_mallocBytes(Vmem *thee)
Return total of all mallocs performed by Vmem object.
│ │ │ │ -
size_t Vmem_mallocBytesTotal(void)
Return total of all Vmem malloc allocations.
│ │ │ │ -
Contains public data members for Vmem class.
Definition vmem.h:57
│ │ │ │ -
char name[VMAX_ARGLEN]
Definition vmem.h:59
│ │ │ │ -
size_t freeBytes
Definition vmem.h:62
│ │ │ │ -
size_t mallocBytes
Definition vmem.h:61
│ │ │ │ -
size_t mallocAreas
Definition vmem.h:64
│ │ │ │ -
size_t highWater
Definition vmem.h:63
│ │ │ │ +
REAL Vpred_orient2d(REAL *pa, REAL *pb, REAL *pc)
Adaptive exact 2D orientation test. Robust.
│ │ │ │ +
REAL Vpred_orient3dfast(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Approximate 3D orientation test. Nonrobust.
│ │ │ │ +
#define REAL
float or double
Definition vpred.h:56
│ │ │ │ +
REAL Vpred_orient3dexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Exact 3D orientation test. Robust.
│ │ │ │ +
REAL Vpred_inspherefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
Approximate 3D insphere test. Nonrobust.
│ │ │ │ +
REAL Vpred_orient3d(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Adaptive exact 3D orientation test. Robust.
│ │ │ │ +
REAL Vpred_insphereexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
Exact 3D insphere test. Robust.
│ │ │ │ +
void Vpred_exactinit(void)
Initialize the variables used for exact arithmetic.
│ │ │ │ +
REAL Vpred_incircleexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Exact 2D incircle test. Robust.
│ │ │ │ +
REAL Vpred_insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
Adaptive exact 3D insphere test. Robust.
│ │ │ │ +
REAL Vpred_orient2dfast(REAL *pa, REAL *pb, REAL *pc)
Approximate 2D orientation test. Nonrobust.
│ │ │ │ +
REAL Vpred_orient2dexact(REAL *pa, REAL *pb, REAL *pc)
Exact 2D orientation test. Robust.
│ │ │ │ +
REAL Vpred_incircle(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Adaptive exact 2D incircle test. Robust.
│ │ │ │ +
REAL Vpred_incirclefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Approximate 2D incircle test. Nonrobust.
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,167 +1,117 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _v_s_y_s │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -vmem.h │ │ │ │ │ +vpred.h │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _d_o_c_u_m_e_n_t_a_t_i_o_n_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ 1 │ │ │ │ │ -40#ifndef _VMEM_H_ │ │ │ │ │ -41#define _VMEM_H_ │ │ │ │ │ -42 │ │ │ │ │ -43#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ -44 │ │ │ │ │ -45/* │ │ │ │ │ -46 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -47 * Class Vmem: Parameters and datatypes │ │ │ │ │ -48 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -49 */ │ │ │ │ │ +30#ifndef _VPRED_H_ │ │ │ │ │ +31#define _VPRED_H_ │ │ │ │ │ +32 │ │ │ │ │ +33#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ +34 │ │ │ │ │ +35/* random() prototype seems to be missing in */ │ │ │ │ │ +36/* │ │ │ │ │ +37 * if !defined(VOSF1) │ │ │ │ │ +38 * extern long int random(void); │ │ │ │ │ +39 * endif │ │ │ │ │ +40 */ │ │ │ │ │ +41 │ │ │ │ │ +42/* On some machines, the exact arithmetic routines might be defeated by the │ │ │ │ │ +*/ │ │ │ │ │ +43/* use of internal extended precision floating-point registers. Sometimes */ │ │ │ │ │ +44/* this problem can be fixed by defining certain values to be volatile, */ │ │ │ │ │ +45/* thus forcing them to be stored to memory and rounded off. This isn't */ │ │ │ │ │ +46/* a great solution, though, as it slows the arithmetic down. */ │ │ │ │ │ +47/* */ │ │ │ │ │ +48/* To try this out, write "#define INEXACT volatile" below. Normally, */ │ │ │ │ │ +49/* however, INEXACT should be defined to be nothing. ("#define INEXACT".) */ │ │ │ │ │ 50 │ │ │ │ │ -51 │ │ │ │ │ -_5_7struct _s_V_m_e_m { │ │ │ │ │ -58 │ │ │ │ │ -_5_9 char _n_a_m_e[_V_M_A_X___A_R_G_L_E_N]; │ │ │ │ │ -_6_1 size_t _m_a_l_l_o_c_B_y_t_e_s; │ │ │ │ │ -_6_2 size_t _f_r_e_e_B_y_t_e_s; │ │ │ │ │ -_6_3 size_t _h_i_g_h_W_a_t_e_r; │ │ │ │ │ -_6_4 size_t _m_a_l_l_o_c_A_r_e_a_s; │ │ │ │ │ -66}; │ │ │ │ │ -67 │ │ │ │ │ -_7_3typedef struct _s_V_m_e_m _V_m_e_m; │ │ │ │ │ -74 │ │ │ │ │ -75/* │ │ │ │ │ -76 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -77 * Class Vmem: Inlineable methods (vmem.c) │ │ │ │ │ -78 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -79 */ │ │ │ │ │ -80 │ │ │ │ │ -81#if !defined(VINLINE_MALOC) │ │ │ │ │ -82#else /* if defined(VINLINE_MALOC) */ │ │ │ │ │ -83#endif /* if !defined(VINLINE_MALOC) */ │ │ │ │ │ -84 │ │ │ │ │ -85/* │ │ │ │ │ -86 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -87 * Class Vmem: Non-Inlineable methods (vmem.c) │ │ │ │ │ -88 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -89 */ │ │ │ │ │ -90 │ │ │ │ │ -_9_8size_t _V_m_e_m___b_y_t_e_s_T_o_t_a_l(void); │ │ │ │ │ -99 │ │ │ │ │ -_1_0_7size_t _V_m_e_m___m_a_l_l_o_c_B_y_t_e_s_T_o_t_a_l(void); │ │ │ │ │ -108 │ │ │ │ │ -_1_1_6size_t _V_m_e_m___f_r_e_e_B_y_t_e_s_T_o_t_a_l(void); │ │ │ │ │ -117 │ │ │ │ │ -_1_2_5size_t _V_m_e_m___h_i_g_h_W_a_t_e_r_T_o_t_a_l(void); │ │ │ │ │ -126 │ │ │ │ │ -_1_3_4size_t _V_m_e_m___m_a_l_l_o_c_A_r_e_a_s_T_o_t_a_l(void); │ │ │ │ │ -135 │ │ │ │ │ -_1_4_3void _V_m_e_m___p_r_i_n_t_T_o_t_a_l(void); │ │ │ │ │ -144 │ │ │ │ │ -_1_5_3_V_m_e_m* _V_m_e_m___c_t_o_r(char *_n_a_m_e); │ │ │ │ │ -154 │ │ │ │ │ -_1_6_3void _V_m_e_m___d_t_o_r(_V_m_e_m **thee); │ │ │ │ │ -164 │ │ │ │ │ -_1_7_5void *_V_m_e_m___m_a_l_l_o_c(_V_m_e_m *thee, size_t num, size_t size); │ │ │ │ │ -176 │ │ │ │ │ -_1_8_8void _V_m_e_m___f_r_e_e(_V_m_e_m *thee, size_t num, size_t size, void **ram); │ │ │ │ │ -189 │ │ │ │ │ -_2_0_2void *_V_m_e_m___r_e_a_l_l_o_c(_V_m_e_m *thee, size_t num, size_t size, void **ram, │ │ │ │ │ -203 size_t newNum); │ │ │ │ │ -204 │ │ │ │ │ -_2_1_3size_t _V_m_e_m___b_y_t_e_s(_V_m_e_m *thee); │ │ │ │ │ +_5_2#define INEXACT /* Nothing */ │ │ │ │ │ +53/* #define INEXACT volatile */ │ │ │ │ │ +54 │ │ │ │ │ +_5_6#define REAL double │ │ │ │ │ +57 │ │ │ │ │ +_5_9#define REALPRINT doubleprint │ │ │ │ │ +60 │ │ │ │ │ +_6_3#define REALRAND doublerand │ │ │ │ │ +64 │ │ │ │ │ +_6_7#define NARROWRAND narrowdoublerand │ │ │ │ │ +68 │ │ │ │ │ +_7_0#define UNIFORMRAND uniformdoublerand │ │ │ │ │ +71 │ │ │ │ │ +_8_4void _V_p_r_e_d___e_x_a_c_t_i_n_i_t(void); │ │ │ │ │ +85 │ │ │ │ │ +_9_7_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_2_d(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc); │ │ │ │ │ +98 │ │ │ │ │ +_1_1_0_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_2_d_f_a_s_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc); │ │ │ │ │ +111 │ │ │ │ │ +_1_2_3_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_2_d_e_x_a_c_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc); │ │ │ │ │ +124 │ │ │ │ │ +_1_3_9_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_3_d(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ +140 │ │ │ │ │ +_1_5_5_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_3_d_f_a_s_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ +156 │ │ │ │ │ +_1_7_1_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_3_d_e_x_a_c_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ +172 │ │ │ │ │ +_1_8_5_R_E_A_L _V_p_r_e_d___i_n_c_i_r_c_l_e(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ +186 │ │ │ │ │ +_1_9_9_R_E_A_L _V_p_r_e_d___i_n_c_i_r_c_l_e_f_a_s_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ +200 │ │ │ │ │ +_2_1_3_R_E_A_L _V_p_r_e_d___i_n_c_i_r_c_l_e_e_x_a_c_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ 214 │ │ │ │ │ -_2_2_3size_t _V_m_e_m___m_a_l_l_o_c_B_y_t_e_s(_V_m_e_m *thee); │ │ │ │ │ -224 │ │ │ │ │ -_2_3_3size_t _V_m_e_m___f_r_e_e_B_y_t_e_s(_V_m_e_m *thee); │ │ │ │ │ -234 │ │ │ │ │ -_2_4_3size_t _V_m_e_m___h_i_g_h_W_a_t_e_r(_V_m_e_m *thee); │ │ │ │ │ +_2_2_8_R_E_A_L _V_p_r_e_d___i_n_s_p_h_e_r_e(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe); │ │ │ │ │ +229 │ │ │ │ │ +_2_4_3_R_E_A_L _V_p_r_e_d___i_n_s_p_h_e_r_e_f_a_s_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe); │ │ │ │ │ 244 │ │ │ │ │ -_2_5_3size_t _V_m_e_m___m_a_l_l_o_c_A_r_e_a_s(_V_m_e_m *thee); │ │ │ │ │ -254 │ │ │ │ │ -_2_6_3void _V_m_e_m___p_r_i_n_t(_V_m_e_m *thee); │ │ │ │ │ -264 │ │ │ │ │ -265#endif /* _VMEM_H_ */ │ │ │ │ │ -266 │ │ │ │ │ +_2_5_8_R_E_A_L _V_p_r_e_d___i_n_s_p_h_e_r_e_e_x_a_c_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe); │ │ │ │ │ +259 │ │ │ │ │ +260#endif /* _VPRED_H_ */ │ │ │ │ │ +261 │ │ │ │ │ _m_a_l_o_c___b_a_s_e_._h │ │ │ │ │ The base (or foundation) header for MALOC. │ │ │ │ │ -_V_M_A_X___A_R_G_L_E_N │ │ │ │ │ -#define VMAX_ARGLEN │ │ │ │ │ -Global constant. │ │ │ │ │ -DDeeffiinniittiioonn maloc_base.h:227 │ │ │ │ │ -_V_m_e_m___f_r_e_e │ │ │ │ │ -void Vmem_free(Vmem *thee, size_t num, size_t size, void **ram) │ │ │ │ │ -A safe logged version of free. │ │ │ │ │ -_V_m_e_m___m_a_l_l_o_c_A_r_e_a_s │ │ │ │ │ -size_t Vmem_mallocAreas(Vmem *thee) │ │ │ │ │ -Return total number of individual active malloc areas. │ │ │ │ │ -_V_m_e_m___m_a_l_l_o_c_A_r_e_a_s_T_o_t_a_l │ │ │ │ │ -size_t Vmem_mallocAreasTotal(void) │ │ │ │ │ -Return total of all active Vmem malloc areas by groups. │ │ │ │ │ -_V_m_e_m___p_r_i_n_t_T_o_t_a_l │ │ │ │ │ -void Vmem_printTotal(void) │ │ │ │ │ -Print current memory statistics for all Vmem malloc/free areas. │ │ │ │ │ -_V_m_e_m___f_r_e_e_B_y_t_e_s │ │ │ │ │ -size_t Vmem_freeBytes(Vmem *thee) │ │ │ │ │ -Return total of all frees performed by Vmem object. │ │ │ │ │ -_V_m_e_m___h_i_g_h_W_a_t_e_r │ │ │ │ │ -size_t Vmem_highWater(Vmem *thee) │ │ │ │ │ -Return high-water malloc bytemark hit by Vmem object. │ │ │ │ │ -_V_m_e_m___m_a_l_l_o_c │ │ │ │ │ -void * Vmem_malloc(Vmem *thee, size_t num, size_t size) │ │ │ │ │ -A safe logged version of malloc. │ │ │ │ │ -_V_m_e_m___b_y_t_e_s_T_o_t_a_l │ │ │ │ │ -size_t Vmem_bytesTotal(void) │ │ │ │ │ -Return total of all active Vmem malloc areas (current footprint) │ │ │ │ │ -_V_m_e_m___f_r_e_e_B_y_t_e_s_T_o_t_a_l │ │ │ │ │ -size_t Vmem_freeBytesTotal(void) │ │ │ │ │ -Return total of all Vmem free calls. │ │ │ │ │ -_V_m_e_m___r_e_a_l_l_o_c │ │ │ │ │ -void * Vmem_realloc(Vmem *thee, size_t num, size_t size, void **ram, size_t │ │ │ │ │ -newNum) │ │ │ │ │ -A safe logged version of realloc (usually a bad idea to use this) │ │ │ │ │ -_V_m_e_m___c_t_o_r │ │ │ │ │ -Vmem * Vmem_ctor(char *name) │ │ │ │ │ -Construct the dynamic memory allocation logging object. │ │ │ │ │ -_V_m_e_m___h_i_g_h_W_a_t_e_r_T_o_t_a_l │ │ │ │ │ -size_t Vmem_highWaterTotal(void) │ │ │ │ │ -Return the high-water byte mark (largest footprint) │ │ │ │ │ -_V_m_e_m___b_y_t_e_s │ │ │ │ │ -size_t Vmem_bytes(Vmem *thee) │ │ │ │ │ -Return total of all ACTIVE malloc areas used by Vmem object. │ │ │ │ │ -_V_m_e_m___p_r_i_n_t │ │ │ │ │ -void Vmem_print(Vmem *thee) │ │ │ │ │ -Print current memory stats associated with this Vmem object. │ │ │ │ │ -_V_m_e_m___d_t_o_r │ │ │ │ │ -void Vmem_dtor(Vmem **thee) │ │ │ │ │ -Destruct the dynamic memory allocation logging object. │ │ │ │ │ -_V_m_e_m___m_a_l_l_o_c_B_y_t_e_s │ │ │ │ │ -size_t Vmem_mallocBytes(Vmem *thee) │ │ │ │ │ -Return total of all mallocs performed by Vmem object. │ │ │ │ │ -_V_m_e_m___m_a_l_l_o_c_B_y_t_e_s_T_o_t_a_l │ │ │ │ │ -size_t Vmem_mallocBytesTotal(void) │ │ │ │ │ -Return total of all Vmem malloc allocations. │ │ │ │ │ -_s_V_m_e_m │ │ │ │ │ -Contains public data members for Vmem class. │ │ │ │ │ -DDeeffiinniittiioonn vmem.h:57 │ │ │ │ │ -_s_V_m_e_m_:_:_n_a_m_e │ │ │ │ │ -char name[VMAX_ARGLEN] │ │ │ │ │ -DDeeffiinniittiioonn vmem.h:59 │ │ │ │ │ -_s_V_m_e_m_:_:_f_r_e_e_B_y_t_e_s │ │ │ │ │ -size_t freeBytes │ │ │ │ │ -DDeeffiinniittiioonn vmem.h:62 │ │ │ │ │ -_s_V_m_e_m_:_:_m_a_l_l_o_c_B_y_t_e_s │ │ │ │ │ -size_t mallocBytes │ │ │ │ │ -DDeeffiinniittiioonn vmem.h:61 │ │ │ │ │ -_s_V_m_e_m_:_:_m_a_l_l_o_c_A_r_e_a_s │ │ │ │ │ -size_t mallocAreas │ │ │ │ │ -DDeeffiinniittiioonn vmem.h:64 │ │ │ │ │ -_s_V_m_e_m_:_:_h_i_g_h_W_a_t_e_r │ │ │ │ │ -size_t highWater │ │ │ │ │ -DDeeffiinniittiioonn vmem.h:63 │ │ │ │ │ +_V_p_r_e_d___o_r_i_e_n_t_2_d │ │ │ │ │ +REAL Vpred_orient2d(REAL *pa, REAL *pb, REAL *pc) │ │ │ │ │ +Adaptive exact 2D orientation test. Robust. │ │ │ │ │ +_V_p_r_e_d___o_r_i_e_n_t_3_d_f_a_s_t │ │ │ │ │ +REAL Vpred_orient3dfast(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ +Approximate 3D orientation test. Nonrobust. │ │ │ │ │ +_R_E_A_L │ │ │ │ │ +#define REAL │ │ │ │ │ +float or double │ │ │ │ │ +DDeeffiinniittiioonn vpred.h:56 │ │ │ │ │ +_V_p_r_e_d___o_r_i_e_n_t_3_d_e_x_a_c_t │ │ │ │ │ +REAL Vpred_orient3dexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ +Exact 3D orientation test. Robust. │ │ │ │ │ +_V_p_r_e_d___i_n_s_p_h_e_r_e_f_a_s_t │ │ │ │ │ +REAL Vpred_inspherefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe) │ │ │ │ │ +Approximate 3D insphere test. Nonrobust. │ │ │ │ │ +_V_p_r_e_d___o_r_i_e_n_t_3_d │ │ │ │ │ +REAL Vpred_orient3d(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ +Adaptive exact 3D orientation test. Robust. │ │ │ │ │ +_V_p_r_e_d___i_n_s_p_h_e_r_e_e_x_a_c_t │ │ │ │ │ +REAL Vpred_insphereexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe) │ │ │ │ │ +Exact 3D insphere test. Robust. │ │ │ │ │ +_V_p_r_e_d___e_x_a_c_t_i_n_i_t │ │ │ │ │ +void Vpred_exactinit(void) │ │ │ │ │ +Initialize the variables used for exact arithmetic. │ │ │ │ │ +_V_p_r_e_d___i_n_c_i_r_c_l_e_e_x_a_c_t │ │ │ │ │ +REAL Vpred_incircleexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ +Exact 2D incircle test. Robust. │ │ │ │ │ +_V_p_r_e_d___i_n_s_p_h_e_r_e │ │ │ │ │ +REAL Vpred_insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe) │ │ │ │ │ +Adaptive exact 3D insphere test. Robust. │ │ │ │ │ +_V_p_r_e_d___o_r_i_e_n_t_2_d_f_a_s_t │ │ │ │ │ +REAL Vpred_orient2dfast(REAL *pa, REAL *pb, REAL *pc) │ │ │ │ │ +Approximate 2D orientation test. Nonrobust. │ │ │ │ │ +_V_p_r_e_d___o_r_i_e_n_t_2_d_e_x_a_c_t │ │ │ │ │ +REAL Vpred_orient2dexact(REAL *pa, REAL *pb, REAL *pc) │ │ │ │ │ +Exact 2D orientation test. Robust. │ │ │ │ │ +_V_p_r_e_d___i_n_c_i_r_c_l_e │ │ │ │ │ +REAL Vpred_incircle(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ +Adaptive exact 2D incircle test. Robust. │ │ │ │ │ +_V_p_r_e_d___i_n_c_i_r_c_l_e_f_a_s_t │ │ │ │ │ +REAL Vpred_incirclefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ +Approximate 2D incircle test. Nonrobust. │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00027.dot.gz │ │ │ │ ├── a00027.dot │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ -digraph "vmem.h" │ │ │ │ │ +digraph "vpred.h" │ │ │ │ │ { │ │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ │ bgcolor="transparent"; │ │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ │ - Node1 [id="Node000001",label="vmem.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node1 [id="Node000001",label="vpred.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node2 [id="Node000002",label="maloc/maloc_base.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00002.html",tooltip="The base (or foundation) header for MALOC."]; │ │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node3 [id="Node000003",label="assert.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node4 [id="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node4 [id="Node000004",label="ctype.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "]; │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00028.dot │ │ │ │ @@ -1,31 +1,28 @@ │ │ │ │ -digraph "vmem.h" │ │ │ │ +digraph "vpred.h" │ │ │ │ { │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ bgcolor="transparent"; │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ - Node1 [id="Node000001",label="vmem.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ + Node1 [id="Node000001",label="vpred.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 [id="Node000002",label="vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ + Node2 [id="Node000002",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 [id="Node000003",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ - Node3 -> Node4 [id="edge3_Node000003_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node4 [id="Node000004",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ - Node3 -> Node5 [id="edge4_Node000003_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node5 [id="Node000005",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ - Node5 -> Node4 [id="edge5_Node000005_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 -> Node6 [id="edge6_Node000003_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node6 [id="Node000006",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ - Node6 -> Node7 [id="edge7_Node000006_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node7 [id="Node000007",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ - Node7 -> Node5 [id="edge8_Node000007_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 -> Node7 [id="edge9_Node000003_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 -> Node8 [id="edge10_Node000003_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node8 [id="Node000008",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ - Node8 -> Node7 [id="edge11_Node000008_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 -> Node9 [id="edge12_Node000003_Node000009",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node9 [id="Node000009",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ - Node9 -> Node4 [id="edge13_Node000009_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node9 -> Node5 [id="edge14_Node000009_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node1 -> Node3 [id="edge15_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node3 [id="Node000003",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ + Node2 -> Node4 [id="edge3_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node4 [id="Node000004",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ + Node4 -> Node3 [id="edge4_Node000004_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 -> Node5 [id="edge5_Node000002_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node5 [id="Node000005",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ + Node5 -> Node6 [id="edge6_Node000005_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node6 [id="Node000006",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ + Node6 -> Node4 [id="edge7_Node000006_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 -> Node6 [id="edge8_Node000002_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 -> Node7 [id="edge9_Node000002_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node7 [id="Node000007",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ + Node7 -> Node6 [id="edge10_Node000007_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 -> Node8 [id="edge11_Node000002_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node8 [id="Node000008",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ + Node8 -> Node3 [id="edge12_Node000008_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node8 -> Node4 [id="edge13_Node000008_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00029.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vpred.h File Reference │ │ │ │ +MALOC: vmem.h File Reference │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -40,104 +40,109 @@ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -Macros | │ │ │ │ +Classes | │ │ │ │ +Typedefs | │ │ │ │ Functions
│ │ │ │ -
vpred.h File Reference
│ │ │ │ +
vmem.h File Reference
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ -

Header file for the Geometric Predicates. │ │ │ │ +

Class Vmem: A safer, object-oriented, malloc/free object. │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │
│ │ │ │ -Include dependency graph for vpred.h:
│ │ │ │ +Include dependency graph for vmem.h:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │

Go to the source code of this file.

│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ +

│ │ │ │ -Macros

#define INEXACT   /* Nothing */
 Parameters and constants "INEXACT".
 
#define REAL   double
 float or double
 
#define REALPRINT   doubleprint
 Print the bit representation of a double.
 
#define REALRAND   doublerand
 Generate a double with random 53-bit significand and a random exponent in [0, 511].
 
#define NARROWRAND   narrowdoublerand
 Generate a double with random 53-bit significand and a random exponent in [0, 7].
 
#define UNIFORMRAND   uniformdoublerand
 Generate a double with random 53-bit significand.
 

│ │ │ │ +Classes

struct  sVmem
 Contains public data members for Vmem class. More...
 
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │

│ │ │ │ +Typedefs

typedef struct sVmem Vmem
 Declaration of the Vmem class as the Vmem structure.
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │

│ │ │ │ Functions

void Vpred_exactinit (void)
 Initialize the variables used for exact arithmetic.
 
REAL Vpred_orient2d (REAL *pa, REAL *pb, REAL *pc)
 Adaptive exact 2D orientation test. Robust.
 
REAL Vpred_orient2dfast (REAL *pa, REAL *pb, REAL *pc)
 Approximate 2D orientation test. Nonrobust.
 
REAL Vpred_orient2dexact (REAL *pa, REAL *pb, REAL *pc)
 Exact 2D orientation test. Robust.
 
REAL Vpred_orient3d (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Adaptive exact 3D orientation test. Robust.
 
REAL Vpred_orient3dfast (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Approximate 3D orientation test. Nonrobust.
 
REAL Vpred_orient3dexact (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Exact 3D orientation test. Robust.
 
REAL Vpred_incircle (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Adaptive exact 2D incircle test. Robust.
 
REAL Vpred_incirclefast (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Approximate 2D incircle test. Nonrobust.
 
REAL Vpred_incircleexact (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 Exact 2D incircle test. Robust.
 
REAL Vpred_insphere (REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
 Adaptive exact 3D insphere test. Robust.
 
REAL Vpred_inspherefast (REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
 Approximate 3D insphere test. Nonrobust.
 
REAL Vpred_insphereexact (REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
 Exact 3D insphere test. Robust.
 
size_t Vmem_bytesTotal (void)
 Return total of all active Vmem malloc areas (current footprint)
 
size_t Vmem_mallocBytesTotal (void)
 Return total of all Vmem malloc allocations.
 
size_t Vmem_freeBytesTotal (void)
 Return total of all Vmem free calls.
 
size_t Vmem_highWaterTotal (void)
 Return the high-water byte mark (largest footprint)
 
size_t Vmem_mallocAreasTotal (void)
 Return total of all active Vmem malloc areas by groups.
 
void Vmem_printTotal (void)
 Print current memory statistics for all Vmem malloc/free areas.
 
VmemVmem_ctor (char *name)
 Construct the dynamic memory allocation logging object.
 
void Vmem_dtor (Vmem **thee)
 Destruct the dynamic memory allocation logging object.
 
void * Vmem_malloc (Vmem *thee, size_t num, size_t size)
 A safe logged version of malloc.
 
void Vmem_free (Vmem *thee, size_t num, size_t size, void **ram)
 A safe logged version of free.
 
void * Vmem_realloc (Vmem *thee, size_t num, size_t size, void **ram, size_t newNum)
 A safe logged version of realloc (usually a bad idea to use this)
 
size_t Vmem_bytes (Vmem *thee)
 Return total of all ACTIVE malloc areas used by Vmem object.
 
size_t Vmem_mallocBytes (Vmem *thee)
 Return total of all mallocs performed by Vmem object.
 
size_t Vmem_freeBytes (Vmem *thee)
 Return total of all frees performed by Vmem object.
 
size_t Vmem_highWater (Vmem *thee)
 Return high-water malloc bytemark hit by Vmem object.
 
size_t Vmem_mallocAreas (Vmem *thee)
 Return total number of individual active malloc areas.
 
void Vmem_print (Vmem *thee)
 Print current memory stats associated with this Vmem object.
 
│ │ │ │

Detailed Description

│ │ │ │ -

Header file for the Geometric Predicates.

│ │ │ │ +

Class Vmem: A safer, object-oriented, malloc/free object.

│ │ │ │ +
Author
Michael Holst
│ │ │ │ +
Note
None
│ │ │ │
Version
│ │ │ │ -
Id
vpred.h,v 1.4 2010/08/12 05:40:37 fetk Exp
│ │ │ │ -
Author
Michael Holst
│ │ │ │ +
Id
vmem.h,v 1.21 2010/08/12 05:40:36 fetk Exp
│ │ │ │
Attention
*
│ │ │ │  * MALOC = < Minimal Abstraction Layer for Object-oriented C >
│ │ │ │  * Copyright (C) 1994-- Michael Holst
│ │ │ │  *
│ │ │ │  * This library is free software; you can redistribute it and/or
│ │ │ │  * modify it under the terms of the GNU Lesser General Public
│ │ │ │  * License as published by the Free Software Foundation; either
│ │ │ │ @@ -148,758 +153,15 @@
│ │ │ │  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
│ │ │ │  * Lesser General Public License for more details.
│ │ │ │  *
│ │ │ │  * You should have received a copy of the GNU Lesser General Public
│ │ │ │  * License along with this library; if not, write to the Free Software
│ │ │ │  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
│ │ │ │  * 
│ │ │ │ -*  
│ │ │ │ -

Macro Definition Documentation

│ │ │ │ - │ │ │ │ -

◆ INEXACT

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define INEXACT   /* Nothing */
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Parameters and constants "INEXACT".

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ NARROWRAND

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define NARROWRAND   narrowdoublerand
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Generate a double with random 53-bit significand and a random exponent in [0, 7].

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ REAL

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define REAL   double
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

float or double

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ REALPRINT

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define REALPRINT   doubleprint
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Print the bit representation of a double.

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ REALRAND

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define REALRAND   doublerand
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Generate a double with random 53-bit significand and a random exponent in [0, 511].

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ UNIFORMRAND

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define UNIFORMRAND   uniformdoublerand
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Generate a double with random 53-bit significand.

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ -

Function Documentation

│ │ │ │ - │ │ │ │ -

◆ Vpred_exactinit()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
void Vpred_exactinit (void )
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Initialize the variables used for exact arithmetic.

│ │ │ │ -
Note
‘epsilon’ is the largest power of two such that 1.0 + epsilon = 1.0 in floating-point arithmetic. ‘epsilon’ bounds the relative roundoff error. It is used for floating-point error analysis. ‘splitter’ is used to split floating-point numbers into two half- length significands for exact multiplication. I imagine that a highly optimizing compiler might be too smart for its own good, and somehow cause this routine to fail, if it pretends that floating-point arithmetic is too much like real arithmetic. Don't change this routine unless you fully understand it.
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_incircle()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_incircle (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Adaptive exact 2D incircle test. Robust.

│ │ │ │ -
Returns
a positive value if the point pd lies inside the circle passing through pa, pb, and pc; a negative value if it lies outside; and zero if the four points are cocircular. The points pa, pb, and pc must be in counterclockwise order, or the sign of the result will be reversed.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_incircleexact()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_incircleexact (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Exact 2D incircle test. Robust.

│ │ │ │ -
Returns
a positive value if the point pd lies inside the circle passing through pa, pb, and pc; a negative value if it lies outside; and zero if the four points are cocircular. The points pa, pb, and pc must be in counterclockwise order, or the sign of the result will be reversed.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_incirclefast()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_incirclefast (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Approximate 2D incircle test. Nonrobust.

│ │ │ │ -
Returns
a positive value if the point pd lies inside the circle passing through pa, pb, and pc; a negative value if it lies outside; and zero if the four points are cocircular. The points pa, pb, and pc must be in counterclockwise order, or the sign of the result will be reversed.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_insphere()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_insphere (REALpa,
REALpb,
REALpc,
REALpd,
REALpe 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Adaptive exact 3D insphere test. Robust.

│ │ │ │ -
Returns
a positive value if the point pe lies inside the sphere passing through pa, pb, pc, and pd; a negative value if it lies outside; and zero if the five points are cospherical. The points pa, pb, pc, and pd must be ordered so that they have a positive orientation (as defined by orient3d()), or the sign of the result will be reversed.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
pePointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_insphereexact()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_insphereexact (REALpa,
REALpb,
REALpc,
REALpd,
REALpe 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Exact 3D insphere test. Robust.

│ │ │ │ -
Returns
a positive value if the point pe lies inside the sphere passing through pa, pb, pc, and pd; a negative value if it lies outside; and zero if the five points are cospherical. The points pa, pb, pc, and pd must be ordered so that they have a positive orientation (as defined by orient3d()), or the sign of the result will be reversed.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
pePointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_inspherefast()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_inspherefast (REALpa,
REALpb,
REALpc,
REALpd,
REALpe 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Approximate 3D insphere test. Nonrobust.

│ │ │ │ -
Returns
a positive value if the point pe lies inside the sphere passing through pa, pb, pc, and pd; a negative value if it lies outside; and zero if the five points are cospherical. The points pa, pb, pc, and pd must be ordered so that they have a positive orientation (as defined by orient3d()), or the sign of the result will be reversed.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
pePointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_orient2d()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_orient2d (REALpa,
REALpb,
REALpc 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Adaptive exact 2D orientation test. Robust.

│ │ │ │ -
Returns
a positive value if the points pa, pb, and pc occur in counterclockwise order; a negative value if they occur in clockwise order; and zero if they are collinear. The result is also a rough approximation of twice the signed area of the triangle defined by the three points.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_orient2dexact()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_orient2dexact (REALpa,
REALpb,
REALpc 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Exact 2D orientation test. Robust.

│ │ │ │ -
Returns
a positive value if the points pa, pb, and pc occur in counterclockwise order; a negative value if they occur in clockwise order; and zero if they are collinear. The result is also a rough approximation of twice the signed area of the triangle defined by the three points.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_orient2dfast()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_orient2dfast (REALpa,
REALpb,
REALpc 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Approximate 2D orientation test. Nonrobust.

│ │ │ │ -
Returns
a positive value if the points pa, pb, and pc occur in counterclockwise order; a negative value if they occur in clockwise order; and zero if they are collinear. The result is also a rough approximation of twice the signed area of the triangle defined by the three points.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_orient3d()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_orient3d (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Adaptive exact 3D orientation test. Robust.

│ │ │ │ -
Returns
a positive value if the point pd lies below the plane passing through pa, pb, and pc; "below" is defined so that pa, pb, and pc appear in counterclockwise order when viewed from above the plane. Returns a negative value if pd lies above the plane. Returns zero if the points are coplanar. The result is also a rough approximation of six times the signed volume of the tetrahedron defined by the four points.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_orient3dexact()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_orient3dexact (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Exact 3D orientation test. Robust.

│ │ │ │ -
Returns
a positive value if the point pd lies below the plane passing through pa, pb, and pc; "below" is defined so that pa, pb, and pc appear in counterclockwise order when viewed from above the plane. Returns a negative value if pd lies above the plane. Returns zero if the points are coplanar. The result is also a rough approximation of six times the signed volume of the tetrahedron defined by the four points.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ Vpred_orient3dfast()

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
REAL Vpred_orient3dfast (REALpa,
REALpb,
REALpc,
REALpd 
)
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

Approximate 3D orientation test. Nonrobust.

│ │ │ │ -
Returns
a positive value if the point pd lies below the plane passing through pa, pb, and pc; "below" is defined so that pa, pb, and pc appear in counterclockwise order when viewed from above the plane. Returns a negative value if pd lies above the plane. Returns zero if the points are coplanar. The result is also a rough approximation of six times the signed volume of the tetrahedron defined by the four points.
│ │ │ │ -
Parameters
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
paPointer to a real parameter
pbPointer to a real parameter
pcPointer to a real parameter
pdPointer to a real parameter
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ +* │ │ │ │ +
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,86 +1,89 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _v_s_y_s │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -_M_a_c_r_o_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ -vpred.h File Reference │ │ │ │ │ -Header file for the Geometric Predicates. _M_o_r_e_._._. │ │ │ │ │ +_C_l_a_s_s_e_s | _T_y_p_e_d_e_f_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ +vmem.h File Reference │ │ │ │ │ +_V_m_e_m_ _c_l_a_s_s │ │ │ │ │ +Class Vmem: A safer, object-oriented, malloc/free object. _M_o_r_e_._._. │ │ │ │ │ #include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ -Include dependency graph for vpred.h: │ │ │ │ │ +Include dependency graph for vmem.h: │ │ │ │ │ This graph shows which files directly or indirectly include this file: │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _s_o_u_r_c_e_ _c_o_d_e_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ -MMaaccrrooss │ │ │ │ │ -#define  _I_N_E_X_A_C_T   /* Nothing */ │ │ │ │ │ -  Parameters and constants "INEXACT". │ │ │ │ │ -  │ │ │ │ │ -#define  _R_E_A_L   double │ │ │ │ │ -  float or double │ │ │ │ │ -  │ │ │ │ │ -#define  _R_E_A_L_P_R_I_N_T   doubleprint │ │ │ │ │ -  Print the bit representation of a double. │ │ │ │ │ -  │ │ │ │ │ -#define  _R_E_A_L_R_A_N_D   doublerand │ │ │ │ │ -  Generate a double with random 53-bit significand and a random exponent │ │ │ │ │ - in [0, 511]. │ │ │ │ │ -  │ │ │ │ │ -#define  _N_A_R_R_O_W_R_A_N_D   narrowdoublerand │ │ │ │ │ -  Generate a double with random 53-bit significand and a random exponent │ │ │ │ │ - in [0, 7]. │ │ │ │ │ -  │ │ │ │ │ -#define  _U_N_I_F_O_R_M_R_A_N_D   uniformdoublerand │ │ │ │ │ -  Generate a double with random 53-bit significand. │ │ │ │ │ +CCllaasssseess │ │ │ │ │ +struct   _s_V_m_e_m │ │ │ │ │ +  Contains public data members for Vmem class. _M_o_r_e_._._. │ │ │ │ │ +  │ │ │ │ │ +TTyyppeeddeeffss │ │ │ │ │ +typedef struct _s_V_m_e_m  _V_m_e_m │ │ │ │ │ +  Declaration of the Vmem class as the Vmem structure. │ │ │ │ │   │ │ │ │ │ FFuunnccttiioonnss │ │ │ │ │ -void  _V_p_r_e_d___e_x_a_c_t_i_n_i_t (void) │ │ │ │ │ -  Initialize the variables used for exact arithmetic. │ │ │ │ │ +size_t  _V_m_e_m___b_y_t_e_s_T_o_t_a_l (void) │ │ │ │ │ +  Return total of all active Vmem malloc areas (current footprint) │ │ │ │ │ +  │ │ │ │ │ +size_t  _V_m_e_m___m_a_l_l_o_c_B_y_t_e_s_T_o_t_a_l (void) │ │ │ │ │ +  Return total of all Vmem malloc allocations. │ │ │ │ │ +  │ │ │ │ │ +size_t  _V_m_e_m___f_r_e_e_B_y_t_e_s_T_o_t_a_l (void) │ │ │ │ │ +  Return total of all Vmem free calls. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_2_d (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc) │ │ │ │ │ -  Adaptive exact 2D orientation test. Robust. │ │ │ │ │ +size_t  _V_m_e_m___h_i_g_h_W_a_t_e_r_T_o_t_a_l (void) │ │ │ │ │ +  Return the high-water byte mark (largest footprint) │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_2_d_f_a_s_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc) │ │ │ │ │ -  Approximate 2D orientation test. Nonrobust. │ │ │ │ │ +size_t  _V_m_e_m___m_a_l_l_o_c_A_r_e_a_s_T_o_t_a_l (void) │ │ │ │ │ +  Return total of all active Vmem malloc areas by groups. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_2_d_e_x_a_c_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc) │ │ │ │ │ -  Exact 2D orientation test. Robust. │ │ │ │ │ + void  _V_m_e_m___p_r_i_n_t_T_o_t_a_l (void) │ │ │ │ │ +  Print current memory statistics for all Vmem malloc/free areas. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_3_d (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ -  Adaptive exact 3D orientation test. Robust. │ │ │ │ │ +_V_m_e_m *  _V_m_e_m___c_t_o_r (char *name) │ │ │ │ │ +  Construct the dynamic memory allocation logging object. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_3_d_f_a_s_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ -  Approximate 3D orientation test. Nonrobust. │ │ │ │ │ + void  _V_m_e_m___d_t_o_r (_V_m_e_m **thee) │ │ │ │ │ +  Destruct the dynamic memory allocation logging object. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___o_r_i_e_n_t_3_d_e_x_a_c_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ -  Exact 3D orientation test. Robust. │ │ │ │ │ +void *  _V_m_e_m___m_a_l_l_o_c (_V_m_e_m *thee, size_t num, size_t size) │ │ │ │ │ +  A safe logged version of malloc. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___i_n_c_i_r_c_l_e (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ -  Adaptive exact 2D incircle test. Robust. │ │ │ │ │ + void  _V_m_e_m___f_r_e_e (_V_m_e_m *thee, size_t num, size_t size, void **ram) │ │ │ │ │ +  A safe logged version of free. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___i_n_c_i_r_c_l_e_f_a_s_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ -  Approximate 2D incircle test. Nonrobust. │ │ │ │ │ +void *  _V_m_e_m___r_e_a_l_l_o_c (_V_m_e_m *thee, size_t num, size_t size, void **ram, size_t │ │ │ │ │ + newNum) │ │ │ │ │ +  A safe logged version of realloc (usually a bad idea to use this) │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___i_n_c_i_r_c_l_e_e_x_a_c_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd) │ │ │ │ │ -  Exact 2D incircle test. Robust. │ │ │ │ │ +size_t  _V_m_e_m___b_y_t_e_s (_V_m_e_m *thee) │ │ │ │ │ +  Return total of all ACTIVE malloc areas used by Vmem object. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___i_n_s_p_h_e_r_e (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe) │ │ │ │ │ -  Adaptive exact 3D insphere test. Robust. │ │ │ │ │ +size_t  _V_m_e_m___m_a_l_l_o_c_B_y_t_e_s (_V_m_e_m *thee) │ │ │ │ │ +  Return total of all mallocs performed by Vmem object. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___i_n_s_p_h_e_r_e_f_a_s_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe) │ │ │ │ │ -  Approximate 3D insphere test. Nonrobust. │ │ │ │ │ +size_t  _V_m_e_m___f_r_e_e_B_y_t_e_s (_V_m_e_m *thee) │ │ │ │ │ +  Return total of all frees performed by Vmem object. │ │ │ │ │   │ │ │ │ │ -_R_E_A_L  _V_p_r_e_d___i_n_s_p_h_e_r_e_e_x_a_c_t (_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe) │ │ │ │ │ -  Exact 3D insphere test. Robust. │ │ │ │ │ +size_t  _V_m_e_m___h_i_g_h_W_a_t_e_r (_V_m_e_m *thee) │ │ │ │ │ +  Return high-water malloc bytemark hit by Vmem object. │ │ │ │ │ +  │ │ │ │ │ +size_t  _V_m_e_m___m_a_l_l_o_c_A_r_e_a_s (_V_m_e_m *thee) │ │ │ │ │ +  Return total number of individual active malloc areas. │ │ │ │ │ +  │ │ │ │ │ + void  _V_m_e_m___p_r_i_n_t (_V_m_e_m *thee) │ │ │ │ │ +  Print current memory stats associated with this Vmem object. │ │ │ │ │   │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ -Header file for the Geometric Predicates. │ │ │ │ │ - Version │ │ │ │ │ - Id │ │ │ │ │ - _v_p_r_e_d_._h,v 1.4 2010/08/12 05:40:37 fetk Exp │ │ │ │ │ +Class Vmem: A safer, object-oriented, malloc/free object. │ │ │ │ │ Author │ │ │ │ │ Michael Holst │ │ │ │ │ + Note │ │ │ │ │ + None │ │ │ │ │ + Version │ │ │ │ │ + Id │ │ │ │ │ + _v_m_e_m_._h,v 1.21 2010/08/12 05:40:36 fetk Exp │ │ │ │ │ Attention │ │ │ │ │ * │ │ │ │ │ * MALOC = < Minimal Abstraction Layer for Object-oriented C > │ │ │ │ │ * Copyright (C) 1994-- Michael Holst │ │ │ │ │ * │ │ │ │ │ * This library is free software; you can redistribute it and/or │ │ │ │ │ * modify it under the terms of the GNU Lesser General Public │ │ │ │ │ @@ -93,256 +96,9 @@ │ │ │ │ │ * Lesser General Public License for more details. │ │ │ │ │ * │ │ │ │ │ * You should have received a copy of the GNU Lesser General Public │ │ │ │ │ * License along with this library; if not, write to the Free Software │ │ │ │ │ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA │ │ │ │ │ * │ │ │ │ │ * │ │ │ │ │ -********** MMaaccrroo DDeeffiinniittiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ -********** _?◆_? IINNEEXXAACCTT ********** │ │ │ │ │ -#define INEXACT   /* Nothing */ │ │ │ │ │ -Parameters and constants "INEXACT". │ │ │ │ │ -********** _?◆_? NNAARRRROOWWRRAANNDD ********** │ │ │ │ │ -#define NARROWRAND   narrowdoublerand │ │ │ │ │ -Generate a double with random 53-bit significand and a random exponent in [0, │ │ │ │ │ -7]. │ │ │ │ │ -********** _?◆_? RREEAALL ********** │ │ │ │ │ -#define REAL   double │ │ │ │ │ -float or double │ │ │ │ │ -********** _?◆_? RREEAALLPPRRIINNTT ********** │ │ │ │ │ -#define REALPRINT   doubleprint │ │ │ │ │ -Print the bit representation of a double. │ │ │ │ │ -********** _?◆_? RREEAALLRRAANNDD ********** │ │ │ │ │ -#define REALRAND   doublerand │ │ │ │ │ -Generate a double with random 53-bit significand and a random exponent in [0, │ │ │ │ │ -511]. │ │ │ │ │ -********** _?◆_? UUNNIIFFOORRMMRRAANNDD ********** │ │ │ │ │ -#define UNIFORMRAND   uniformdoublerand │ │ │ │ │ -Generate a double with random 53-bit significand. │ │ │ │ │ -********** FFuunnccttiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ -********** _?◆_? VVpprreedd__eexxaaccttiinniitt(()) ********** │ │ │ │ │ -void Vpred_exactinit ( void  ) │ │ │ │ │ -Initialize the variables used for exact arithmetic. │ │ │ │ │ - Note │ │ │ │ │ - ‘epsilon’ is the largest power of two such that 1.0 + epsilon = 1.0 in │ │ │ │ │ - floating-point arithmetic. ‘epsilon’ bounds the relative roundoff error. │ │ │ │ │ - It is used for floating-point error analysis. ‘splitter’ is used to split │ │ │ │ │ - floating-point numbers into two half- length significands for exact │ │ │ │ │ - multiplication. I imagine that a highly optimizing compiler might be too │ │ │ │ │ - smart for its own good, and somehow cause this routine to fail, if it │ │ │ │ │ - pretends that floating-point arithmetic is too much like real arithmetic. │ │ │ │ │ - Don't change this routine unless you fully understand it. │ │ │ │ │ -********** _?◆_? VVpprreedd__iinncciirrccllee(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_incircle ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd  │ │ │ │ │ - ) │ │ │ │ │ -Adaptive exact 2D incircle test. Robust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pd lies inside the circle passing through │ │ │ │ │ - pa, pb, and pc; a negative value if it lies outside; and zero if the four │ │ │ │ │ - points are cocircular. The points pa, pb, and pc must be in │ │ │ │ │ - counterclockwise order, or the sign of the result will be reversed. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__iinncciirrcclleeeexxaacctt(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_incircleexact ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd  │ │ │ │ │ - ) │ │ │ │ │ -Exact 2D incircle test. Robust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pd lies inside the circle passing through │ │ │ │ │ - pa, pb, and pc; a negative value if it lies outside; and zero if the four │ │ │ │ │ - points are cocircular. The points pa, pb, and pc must be in │ │ │ │ │ - counterclockwise order, or the sign of the result will be reversed. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__iinncciirrcclleeffaasstt(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_incirclefast ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd  │ │ │ │ │ - ) │ │ │ │ │ -Approximate 2D incircle test. Nonrobust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pd lies inside the circle passing through │ │ │ │ │ - pa, pb, and pc; a negative value if it lies outside; and zero if the four │ │ │ │ │ - points are cocircular. The points pa, pb, and pc must be in │ │ │ │ │ - counterclockwise order, or the sign of the result will be reversed. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__iinnsspphheerree(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_insphere ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd, │ │ │ │ │ - _R_E_A_L *  ppee  │ │ │ │ │ - ) │ │ │ │ │ -Adaptive exact 3D insphere test. Robust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pe lies inside the sphere passing through │ │ │ │ │ - pa, pb, pc, and pd; a negative value if it lies outside; and zero if the │ │ │ │ │ - five points are cospherical. The points pa, pb, pc, and pd must be │ │ │ │ │ - ordered so that they have a positive orientation (as defined by orient3d │ │ │ │ │ - ()), or the sign of the result will be reversed. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ - pe Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__iinnsspphheerreeeexxaacctt(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_insphereexact ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd, │ │ │ │ │ - _R_E_A_L *  ppee  │ │ │ │ │ - ) │ │ │ │ │ -Exact 3D insphere test. Robust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pe lies inside the sphere passing through │ │ │ │ │ - pa, pb, pc, and pd; a negative value if it lies outside; and zero if the │ │ │ │ │ - five points are cospherical. The points pa, pb, pc, and pd must be │ │ │ │ │ - ordered so that they have a positive orientation (as defined by orient3d │ │ │ │ │ - ()), or the sign of the result will be reversed. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ - pe Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__iinnsspphheerreeffaasstt(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_inspherefast ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd, │ │ │ │ │ - _R_E_A_L *  ppee  │ │ │ │ │ - ) │ │ │ │ │ -Approximate 3D insphere test. Nonrobust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pe lies inside the sphere passing through │ │ │ │ │ - pa, pb, pc, and pd; a negative value if it lies outside; and zero if the │ │ │ │ │ - five points are cospherical. The points pa, pb, pc, and pd must be │ │ │ │ │ - ordered so that they have a positive orientation (as defined by orient3d │ │ │ │ │ - ()), or the sign of the result will be reversed. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ - pe Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__oorriieenntt22dd(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_orient2d ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc  │ │ │ │ │ - ) │ │ │ │ │ -Adaptive exact 2D orientation test. Robust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the points pa, pb, and pc occur in counterclockwise │ │ │ │ │ - order; a negative value if they occur in clockwise order; and zero if │ │ │ │ │ - they are collinear. The result is also a rough approximation of twice the │ │ │ │ │ - signed area of the triangle defined by the three points. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__oorriieenntt22ddeexxaacctt(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_orient2dexact ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc  │ │ │ │ │ - ) │ │ │ │ │ -Exact 2D orientation test. Robust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the points pa, pb, and pc occur in counterclockwise │ │ │ │ │ - order; a negative value if they occur in clockwise order; and zero if │ │ │ │ │ - they are collinear. The result is also a rough approximation of twice the │ │ │ │ │ - signed area of the triangle defined by the three points. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__oorriieenntt22ddffaasstt(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_orient2dfast ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc  │ │ │ │ │ - ) │ │ │ │ │ -Approximate 2D orientation test. Nonrobust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the points pa, pb, and pc occur in counterclockwise │ │ │ │ │ - order; a negative value if they occur in clockwise order; and zero if │ │ │ │ │ - they are collinear. The result is also a rough approximation of twice the │ │ │ │ │ - signed area of the triangle defined by the three points. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__oorriieenntt33dd(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_orient3d ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd  │ │ │ │ │ - ) │ │ │ │ │ -Adaptive exact 3D orientation test. Robust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pd lies below the plane passing through pa, │ │ │ │ │ - pb, and pc; "below" is defined so that pa, pb, and pc appear in │ │ │ │ │ - counterclockwise order when viewed from above the plane. Returns a │ │ │ │ │ - negative value if pd lies above the plane. Returns zero if the points are │ │ │ │ │ - coplanar. The result is also a rough approximation of six times the │ │ │ │ │ - signed volume of the tetrahedron defined by the four points. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__oorriieenntt33ddeexxaacctt(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_orient3dexact ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd  │ │ │ │ │ - ) │ │ │ │ │ -Exact 3D orientation test. Robust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pd lies below the plane passing through pa, │ │ │ │ │ - pb, and pc; "below" is defined so that pa, pb, and pc appear in │ │ │ │ │ - counterclockwise order when viewed from above the plane. Returns a │ │ │ │ │ - negative value if pd lies above the plane. Returns zero if the points are │ │ │ │ │ - coplanar. The result is also a rough approximation of six times the │ │ │ │ │ - signed volume of the tetrahedron defined by the four points. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ -********** _?◆_? VVpprreedd__oorriieenntt33ddffaasstt(()) ********** │ │ │ │ │ -_R_E_A_L Vpred_orient3dfast ( _R_E_A_L *  ppaa, │ │ │ │ │ - _R_E_A_L *  ppbb, │ │ │ │ │ - _R_E_A_L *  ppcc, │ │ │ │ │ - _R_E_A_L *  ppdd  │ │ │ │ │ - ) │ │ │ │ │ -Approximate 3D orientation test. Nonrobust. │ │ │ │ │ - Returns │ │ │ │ │ - a positive value if the point pd lies below the plane passing through pa, │ │ │ │ │ - pb, and pc; "below" is defined so that pa, pb, and pc appear in │ │ │ │ │ - counterclockwise order when viewed from above the plane. Returns a │ │ │ │ │ - negative value if pd lies above the plane. Returns zero if the points are │ │ │ │ │ - coplanar. The result is also a rough approximation of six times the │ │ │ │ │ - signed volume of the tetrahedron defined by the four points. │ │ │ │ │ - Parameters │ │ │ │ │ - pa Pointer to a real parameter │ │ │ │ │ - pb Pointer to a real parameter │ │ │ │ │ - pc Pointer to a real parameter │ │ │ │ │ - pd Pointer to a real parameter │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00029_source.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vpred.h Source File │ │ │ │ +MALOC: vmem.h Source File │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -44,95 +44,121 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
vpred.h
│ │ │ │ +
vmem.h
│ │ │ │
│ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │ -
30#ifndef _VPRED_H_
│ │ │ │ -
31#define _VPRED_H_
│ │ │ │ -
32
│ │ │ │ -
33#include <maloc/maloc_base.h>
│ │ │ │ -
34
│ │ │ │ -
35/* random() prototype seems to be missing in <stdlib.h> */
│ │ │ │ -
36/*
│ │ │ │ -
37 * if !defined(VOSF1)
│ │ │ │ -
38 * extern long int random(void);
│ │ │ │ -
39 * endif
│ │ │ │ -
40 */
│ │ │ │ -
41
│ │ │ │ -
42/* On some machines, the exact arithmetic routines might be defeated by the */
│ │ │ │ -
43/* use of internal extended precision floating-point registers. Sometimes */
│ │ │ │ -
44/* this problem can be fixed by defining certain values to be volatile, */
│ │ │ │ -
45/* thus forcing them to be stored to memory and rounded off. This isn't */
│ │ │ │ -
46/* a great solution, though, as it slows the arithmetic down. */
│ │ │ │ -
47/* */
│ │ │ │ -
48/* To try this out, write "#define INEXACT volatile" below. Normally, */
│ │ │ │ -
49/* however, INEXACT should be defined to be nothing. ("#define INEXACT".) */
│ │ │ │ +
40#ifndef _VMEM_H_
│ │ │ │ +
41#define _VMEM_H_
│ │ │ │ +
42
│ │ │ │ +
43#include <maloc/maloc_base.h>
│ │ │ │ +
44
│ │ │ │ +
45/*
│ │ │ │ +
46 * ***************************************************************************
│ │ │ │ +
47 * Class Vmem: Parameters and datatypes
│ │ │ │ +
48 * ***************************************************************************
│ │ │ │ +
49 */
│ │ │ │
50
│ │ │ │ -
52#define INEXACT /* Nothing */
│ │ │ │ -
53/* #define INEXACT volatile */
│ │ │ │ -
54
│ │ │ │ -
56#define REAL double
│ │ │ │ -
57
│ │ │ │ -
59#define REALPRINT doubleprint
│ │ │ │ -
60
│ │ │ │ -
63#define REALRAND doublerand
│ │ │ │ -
64
│ │ │ │ -
67#define NARROWRAND narrowdoublerand
│ │ │ │ -
68
│ │ │ │ -
70#define UNIFORMRAND uniformdoublerand
│ │ │ │ -
71
│ │ │ │ -
84void Vpred_exactinit(void);
│ │ │ │ -
85
│ │ │ │ - │ │ │ │ -
98
│ │ │ │ - │ │ │ │ -
111
│ │ │ │ - │ │ │ │ -
124
│ │ │ │ -
139REAL Vpred_orient3d(REAL *pa, REAL *pb, REAL *pc, REAL *pd);
│ │ │ │ -
140
│ │ │ │ - │ │ │ │ -
156
│ │ │ │ - │ │ │ │ -
172
│ │ │ │ -
185REAL Vpred_incircle(REAL *pa, REAL *pb, REAL *pc, REAL *pd);
│ │ │ │ -
186
│ │ │ │ - │ │ │ │ -
200
│ │ │ │ - │ │ │ │ +
51
│ │ │ │ +
│ │ │ │ +
57struct sVmem {
│ │ │ │ +
58
│ │ │ │ + │ │ │ │ +
61 size_t mallocBytes;
│ │ │ │ +
62 size_t freeBytes;
│ │ │ │ +
63 size_t highWater;
│ │ │ │ +
64 size_t mallocAreas;
│ │ │ │ +
66};
│ │ │ │ +
│ │ │ │ +
67
│ │ │ │ +
73typedef struct sVmem Vmem;
│ │ │ │ +
74
│ │ │ │ +
75/*
│ │ │ │ +
76 * ***************************************************************************
│ │ │ │ +
77 * Class Vmem: Inlineable methods (vmem.c)
│ │ │ │ +
78 * ***************************************************************************
│ │ │ │ +
79 */
│ │ │ │ +
80
│ │ │ │ +
81#if !defined(VINLINE_MALOC)
│ │ │ │ +
82#else /* if defined(VINLINE_MALOC) */
│ │ │ │ +
83#endif /* if !defined(VINLINE_MALOC) */
│ │ │ │ +
84
│ │ │ │ +
85/*
│ │ │ │ +
86 * ***************************************************************************
│ │ │ │ +
87 * Class Vmem: Non-Inlineable methods (vmem.c)
│ │ │ │ +
88 * ***************************************************************************
│ │ │ │ +
89 */
│ │ │ │ +
90
│ │ │ │ +
98size_t Vmem_bytesTotal(void);
│ │ │ │ +
99
│ │ │ │ + │ │ │ │ +
108
│ │ │ │ + │ │ │ │ +
117
│ │ │ │ + │ │ │ │ +
126
│ │ │ │ + │ │ │ │ +
135
│ │ │ │ + │ │ │ │ +
144
│ │ │ │ + │ │ │ │ +
154
│ │ │ │ +
163void Vmem_dtor(Vmem **thee);
│ │ │ │ +
164
│ │ │ │ +
175void *Vmem_malloc(Vmem *thee, size_t num, size_t size);
│ │ │ │ +
176
│ │ │ │ +
188void Vmem_free(Vmem *thee, size_t num, size_t size, void **ram);
│ │ │ │ +
189
│ │ │ │ +
202void *Vmem_realloc(Vmem *thee, size_t num, size_t size, void **ram,
│ │ │ │ +
203 size_t newNum);
│ │ │ │ +
204
│ │ │ │ +
213size_t Vmem_bytes(Vmem *thee);
│ │ │ │
214
│ │ │ │ -
228REAL Vpred_insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe);
│ │ │ │ -
229
│ │ │ │ -
243REAL Vpred_inspherefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe);
│ │ │ │ +
223size_t Vmem_mallocBytes(Vmem *thee);
│ │ │ │ +
224
│ │ │ │ +
233size_t Vmem_freeBytes(Vmem *thee);
│ │ │ │ +
234
│ │ │ │ +
243size_t Vmem_highWater(Vmem *thee);
│ │ │ │
244
│ │ │ │ -
258REAL Vpred_insphereexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe);
│ │ │ │ -
259
│ │ │ │ -
260#endif /* _VPRED_H_ */
│ │ │ │ -
261
│ │ │ │ +
253size_t Vmem_mallocAreas(Vmem *thee);
│ │ │ │ +
254
│ │ │ │ +
263void Vmem_print(Vmem *thee);
│ │ │ │ +
264
│ │ │ │ +
265#endif /* _VMEM_H_ */
│ │ │ │ +
266
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │ -
REAL Vpred_orient2d(REAL *pa, REAL *pb, REAL *pc)
Adaptive exact 2D orientation test. Robust.
│ │ │ │ -
REAL Vpred_orient3dfast(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Approximate 3D orientation test. Nonrobust.
│ │ │ │ -
#define REAL
float or double
Definition vpred.h:56
│ │ │ │ -
REAL Vpred_orient3dexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Exact 3D orientation test. Robust.
│ │ │ │ -
REAL Vpred_inspherefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
Approximate 3D insphere test. Nonrobust.
│ │ │ │ -
REAL Vpred_orient3d(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Adaptive exact 3D orientation test. Robust.
│ │ │ │ -
REAL Vpred_insphereexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
Exact 3D insphere test. Robust.
│ │ │ │ -
void Vpred_exactinit(void)
Initialize the variables used for exact arithmetic.
│ │ │ │ -
REAL Vpred_incircleexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Exact 2D incircle test. Robust.
│ │ │ │ -
REAL Vpred_insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
Adaptive exact 3D insphere test. Robust.
│ │ │ │ -
REAL Vpred_orient2dfast(REAL *pa, REAL *pb, REAL *pc)
Approximate 2D orientation test. Nonrobust.
│ │ │ │ -
REAL Vpred_orient2dexact(REAL *pa, REAL *pb, REAL *pc)
Exact 2D orientation test. Robust.
│ │ │ │ -
REAL Vpred_incircle(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Adaptive exact 2D incircle test. Robust.
│ │ │ │ -
REAL Vpred_incirclefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
Approximate 2D incircle test. Nonrobust.
│ │ │ │ +
#define VMAX_ARGLEN
Global constant.
Definition maloc_base.h:227
│ │ │ │ +
void Vmem_free(Vmem *thee, size_t num, size_t size, void **ram)
A safe logged version of free.
│ │ │ │ +
size_t Vmem_mallocAreas(Vmem *thee)
Return total number of individual active malloc areas.
│ │ │ │ +
size_t Vmem_mallocAreasTotal(void)
Return total of all active Vmem malloc areas by groups.
│ │ │ │ +
void Vmem_printTotal(void)
Print current memory statistics for all Vmem malloc/free areas.
│ │ │ │ +
size_t Vmem_freeBytes(Vmem *thee)
Return total of all frees performed by Vmem object.
│ │ │ │ +
size_t Vmem_highWater(Vmem *thee)
Return high-water malloc bytemark hit by Vmem object.
│ │ │ │ +
void * Vmem_malloc(Vmem *thee, size_t num, size_t size)
A safe logged version of malloc.
│ │ │ │ +
size_t Vmem_bytesTotal(void)
Return total of all active Vmem malloc areas (current footprint)
│ │ │ │ +
size_t Vmem_freeBytesTotal(void)
Return total of all Vmem free calls.
│ │ │ │ +
void * Vmem_realloc(Vmem *thee, size_t num, size_t size, void **ram, size_t newNum)
A safe logged version of realloc (usually a bad idea to use this)
│ │ │ │ +
Vmem * Vmem_ctor(char *name)
Construct the dynamic memory allocation logging object.
│ │ │ │ +
size_t Vmem_highWaterTotal(void)
Return the high-water byte mark (largest footprint)
│ │ │ │ +
size_t Vmem_bytes(Vmem *thee)
Return total of all ACTIVE malloc areas used by Vmem object.
│ │ │ │ +
void Vmem_print(Vmem *thee)
Print current memory stats associated with this Vmem object.
│ │ │ │ +
void Vmem_dtor(Vmem **thee)
Destruct the dynamic memory allocation logging object.
│ │ │ │ +
size_t Vmem_mallocBytes(Vmem *thee)
Return total of all mallocs performed by Vmem object.
│ │ │ │ +
size_t Vmem_mallocBytesTotal(void)
Return total of all Vmem malloc allocations.
│ │ │ │ +
Contains public data members for Vmem class.
Definition vmem.h:57
│ │ │ │ +
char name[VMAX_ARGLEN]
Definition vmem.h:59
│ │ │ │ +
size_t freeBytes
Definition vmem.h:62
│ │ │ │ +
size_t mallocBytes
Definition vmem.h:61
│ │ │ │ +
size_t mallocAreas
Definition vmem.h:64
│ │ │ │ +
size_t highWater
Definition vmem.h:63
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,117 +1,167 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _v_s_y_s │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -vpred.h │ │ │ │ │ +vmem.h │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _d_o_c_u_m_e_n_t_a_t_i_o_n_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ 1 │ │ │ │ │ -30#ifndef _VPRED_H_ │ │ │ │ │ -31#define _VPRED_H_ │ │ │ │ │ -32 │ │ │ │ │ -33#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ -34 │ │ │ │ │ -35/* random() prototype seems to be missing in */ │ │ │ │ │ -36/* │ │ │ │ │ -37 * if !defined(VOSF1) │ │ │ │ │ -38 * extern long int random(void); │ │ │ │ │ -39 * endif │ │ │ │ │ -40 */ │ │ │ │ │ -41 │ │ │ │ │ -42/* On some machines, the exact arithmetic routines might be defeated by the │ │ │ │ │ -*/ │ │ │ │ │ -43/* use of internal extended precision floating-point registers. Sometimes */ │ │ │ │ │ -44/* this problem can be fixed by defining certain values to be volatile, */ │ │ │ │ │ -45/* thus forcing them to be stored to memory and rounded off. This isn't */ │ │ │ │ │ -46/* a great solution, though, as it slows the arithmetic down. */ │ │ │ │ │ -47/* */ │ │ │ │ │ -48/* To try this out, write "#define INEXACT volatile" below. Normally, */ │ │ │ │ │ -49/* however, INEXACT should be defined to be nothing. ("#define INEXACT".) */ │ │ │ │ │ +40#ifndef _VMEM_H_ │ │ │ │ │ +41#define _VMEM_H_ │ │ │ │ │ +42 │ │ │ │ │ +43#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ +44 │ │ │ │ │ +45/* │ │ │ │ │ +46 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +47 * Class Vmem: Parameters and datatypes │ │ │ │ │ +48 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +49 */ │ │ │ │ │ 50 │ │ │ │ │ -_5_2#define INEXACT /* Nothing */ │ │ │ │ │ -53/* #define INEXACT volatile */ │ │ │ │ │ -54 │ │ │ │ │ -_5_6#define REAL double │ │ │ │ │ -57 │ │ │ │ │ -_5_9#define REALPRINT doubleprint │ │ │ │ │ -60 │ │ │ │ │ -_6_3#define REALRAND doublerand │ │ │ │ │ -64 │ │ │ │ │ -_6_7#define NARROWRAND narrowdoublerand │ │ │ │ │ -68 │ │ │ │ │ -_7_0#define UNIFORMRAND uniformdoublerand │ │ │ │ │ -71 │ │ │ │ │ -_8_4void _V_p_r_e_d___e_x_a_c_t_i_n_i_t(void); │ │ │ │ │ -85 │ │ │ │ │ -_9_7_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_2_d(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc); │ │ │ │ │ -98 │ │ │ │ │ -_1_1_0_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_2_d_f_a_s_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc); │ │ │ │ │ -111 │ │ │ │ │ -_1_2_3_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_2_d_e_x_a_c_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc); │ │ │ │ │ -124 │ │ │ │ │ -_1_3_9_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_3_d(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ -140 │ │ │ │ │ -_1_5_5_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_3_d_f_a_s_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ -156 │ │ │ │ │ -_1_7_1_R_E_A_L _V_p_r_e_d___o_r_i_e_n_t_3_d_e_x_a_c_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ -172 │ │ │ │ │ -_1_8_5_R_E_A_L _V_p_r_e_d___i_n_c_i_r_c_l_e(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ -186 │ │ │ │ │ -_1_9_9_R_E_A_L _V_p_r_e_d___i_n_c_i_r_c_l_e_f_a_s_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ -200 │ │ │ │ │ -_2_1_3_R_E_A_L _V_p_r_e_d___i_n_c_i_r_c_l_e_e_x_a_c_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd); │ │ │ │ │ +51 │ │ │ │ │ +_5_7struct _s_V_m_e_m { │ │ │ │ │ +58 │ │ │ │ │ +_5_9 char _n_a_m_e[_V_M_A_X___A_R_G_L_E_N]; │ │ │ │ │ +_6_1 size_t _m_a_l_l_o_c_B_y_t_e_s; │ │ │ │ │ +_6_2 size_t _f_r_e_e_B_y_t_e_s; │ │ │ │ │ +_6_3 size_t _h_i_g_h_W_a_t_e_r; │ │ │ │ │ +_6_4 size_t _m_a_l_l_o_c_A_r_e_a_s; │ │ │ │ │ +66}; │ │ │ │ │ +67 │ │ │ │ │ +_7_3typedef struct _s_V_m_e_m _V_m_e_m; │ │ │ │ │ +74 │ │ │ │ │ +75/* │ │ │ │ │ +76 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +77 * Class Vmem: Inlineable methods (vmem.c) │ │ │ │ │ +78 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +79 */ │ │ │ │ │ +80 │ │ │ │ │ +81#if !defined(VINLINE_MALOC) │ │ │ │ │ +82#else /* if defined(VINLINE_MALOC) */ │ │ │ │ │ +83#endif /* if !defined(VINLINE_MALOC) */ │ │ │ │ │ +84 │ │ │ │ │ +85/* │ │ │ │ │ +86 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +87 * Class Vmem: Non-Inlineable methods (vmem.c) │ │ │ │ │ +88 * │ │ │ │ │ +*************************************************************************** │ │ │ │ │ +89 */ │ │ │ │ │ +90 │ │ │ │ │ +_9_8size_t _V_m_e_m___b_y_t_e_s_T_o_t_a_l(void); │ │ │ │ │ +99 │ │ │ │ │ +_1_0_7size_t _V_m_e_m___m_a_l_l_o_c_B_y_t_e_s_T_o_t_a_l(void); │ │ │ │ │ +108 │ │ │ │ │ +_1_1_6size_t _V_m_e_m___f_r_e_e_B_y_t_e_s_T_o_t_a_l(void); │ │ │ │ │ +117 │ │ │ │ │ +_1_2_5size_t _V_m_e_m___h_i_g_h_W_a_t_e_r_T_o_t_a_l(void); │ │ │ │ │ +126 │ │ │ │ │ +_1_3_4size_t _V_m_e_m___m_a_l_l_o_c_A_r_e_a_s_T_o_t_a_l(void); │ │ │ │ │ +135 │ │ │ │ │ +_1_4_3void _V_m_e_m___p_r_i_n_t_T_o_t_a_l(void); │ │ │ │ │ +144 │ │ │ │ │ +_1_5_3_V_m_e_m* _V_m_e_m___c_t_o_r(char *_n_a_m_e); │ │ │ │ │ +154 │ │ │ │ │ +_1_6_3void _V_m_e_m___d_t_o_r(_V_m_e_m **thee); │ │ │ │ │ +164 │ │ │ │ │ +_1_7_5void *_V_m_e_m___m_a_l_l_o_c(_V_m_e_m *thee, size_t num, size_t size); │ │ │ │ │ +176 │ │ │ │ │ +_1_8_8void _V_m_e_m___f_r_e_e(_V_m_e_m *thee, size_t num, size_t size, void **ram); │ │ │ │ │ +189 │ │ │ │ │ +_2_0_2void *_V_m_e_m___r_e_a_l_l_o_c(_V_m_e_m *thee, size_t num, size_t size, void **ram, │ │ │ │ │ +203 size_t newNum); │ │ │ │ │ +204 │ │ │ │ │ +_2_1_3size_t _V_m_e_m___b_y_t_e_s(_V_m_e_m *thee); │ │ │ │ │ 214 │ │ │ │ │ -_2_2_8_R_E_A_L _V_p_r_e_d___i_n_s_p_h_e_r_e(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe); │ │ │ │ │ -229 │ │ │ │ │ -_2_4_3_R_E_A_L _V_p_r_e_d___i_n_s_p_h_e_r_e_f_a_s_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe); │ │ │ │ │ +_2_2_3size_t _V_m_e_m___m_a_l_l_o_c_B_y_t_e_s(_V_m_e_m *thee); │ │ │ │ │ +224 │ │ │ │ │ +_2_3_3size_t _V_m_e_m___f_r_e_e_B_y_t_e_s(_V_m_e_m *thee); │ │ │ │ │ +234 │ │ │ │ │ +_2_4_3size_t _V_m_e_m___h_i_g_h_W_a_t_e_r(_V_m_e_m *thee); │ │ │ │ │ 244 │ │ │ │ │ -_2_5_8_R_E_A_L _V_p_r_e_d___i_n_s_p_h_e_r_e_e_x_a_c_t(_R_E_A_L *pa, _R_E_A_L *pb, _R_E_A_L *pc, _R_E_A_L *pd, _R_E_A_L *pe); │ │ │ │ │ -259 │ │ │ │ │ -260#endif /* _VPRED_H_ */ │ │ │ │ │ -261 │ │ │ │ │ +_2_5_3size_t _V_m_e_m___m_a_l_l_o_c_A_r_e_a_s(_V_m_e_m *thee); │ │ │ │ │ +254 │ │ │ │ │ +_2_6_3void _V_m_e_m___p_r_i_n_t(_V_m_e_m *thee); │ │ │ │ │ +264 │ │ │ │ │ +265#endif /* _VMEM_H_ */ │ │ │ │ │ +266 │ │ │ │ │ _m_a_l_o_c___b_a_s_e_._h │ │ │ │ │ The base (or foundation) header for MALOC. │ │ │ │ │ -_V_p_r_e_d___o_r_i_e_n_t_2_d │ │ │ │ │ -REAL Vpred_orient2d(REAL *pa, REAL *pb, REAL *pc) │ │ │ │ │ -Adaptive exact 2D orientation test. Robust. │ │ │ │ │ -_V_p_r_e_d___o_r_i_e_n_t_3_d_f_a_s_t │ │ │ │ │ -REAL Vpred_orient3dfast(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ -Approximate 3D orientation test. Nonrobust. │ │ │ │ │ -_R_E_A_L │ │ │ │ │ -#define REAL │ │ │ │ │ -float or double │ │ │ │ │ -DDeeffiinniittiioonn vpred.h:56 │ │ │ │ │ -_V_p_r_e_d___o_r_i_e_n_t_3_d_e_x_a_c_t │ │ │ │ │ -REAL Vpred_orient3dexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ -Exact 3D orientation test. Robust. │ │ │ │ │ -_V_p_r_e_d___i_n_s_p_h_e_r_e_f_a_s_t │ │ │ │ │ -REAL Vpred_inspherefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe) │ │ │ │ │ -Approximate 3D insphere test. Nonrobust. │ │ │ │ │ -_V_p_r_e_d___o_r_i_e_n_t_3_d │ │ │ │ │ -REAL Vpred_orient3d(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ -Adaptive exact 3D orientation test. Robust. │ │ │ │ │ -_V_p_r_e_d___i_n_s_p_h_e_r_e_e_x_a_c_t │ │ │ │ │ -REAL Vpred_insphereexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe) │ │ │ │ │ -Exact 3D insphere test. Robust. │ │ │ │ │ -_V_p_r_e_d___e_x_a_c_t_i_n_i_t │ │ │ │ │ -void Vpred_exactinit(void) │ │ │ │ │ -Initialize the variables used for exact arithmetic. │ │ │ │ │ -_V_p_r_e_d___i_n_c_i_r_c_l_e_e_x_a_c_t │ │ │ │ │ -REAL Vpred_incircleexact(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ -Exact 2D incircle test. Robust. │ │ │ │ │ -_V_p_r_e_d___i_n_s_p_h_e_r_e │ │ │ │ │ -REAL Vpred_insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe) │ │ │ │ │ -Adaptive exact 3D insphere test. Robust. │ │ │ │ │ -_V_p_r_e_d___o_r_i_e_n_t_2_d_f_a_s_t │ │ │ │ │ -REAL Vpred_orient2dfast(REAL *pa, REAL *pb, REAL *pc) │ │ │ │ │ -Approximate 2D orientation test. Nonrobust. │ │ │ │ │ -_V_p_r_e_d___o_r_i_e_n_t_2_d_e_x_a_c_t │ │ │ │ │ -REAL Vpred_orient2dexact(REAL *pa, REAL *pb, REAL *pc) │ │ │ │ │ -Exact 2D orientation test. Robust. │ │ │ │ │ -_V_p_r_e_d___i_n_c_i_r_c_l_e │ │ │ │ │ -REAL Vpred_incircle(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ -Adaptive exact 2D incircle test. Robust. │ │ │ │ │ -_V_p_r_e_d___i_n_c_i_r_c_l_e_f_a_s_t │ │ │ │ │ -REAL Vpred_incirclefast(REAL *pa, REAL *pb, REAL *pc, REAL *pd) │ │ │ │ │ -Approximate 2D incircle test. Nonrobust. │ │ │ │ │ +_V_M_A_X___A_R_G_L_E_N │ │ │ │ │ +#define VMAX_ARGLEN │ │ │ │ │ +Global constant. │ │ │ │ │ +DDeeffiinniittiioonn maloc_base.h:227 │ │ │ │ │ +_V_m_e_m___f_r_e_e │ │ │ │ │ +void Vmem_free(Vmem *thee, size_t num, size_t size, void **ram) │ │ │ │ │ +A safe logged version of free. │ │ │ │ │ +_V_m_e_m___m_a_l_l_o_c_A_r_e_a_s │ │ │ │ │ +size_t Vmem_mallocAreas(Vmem *thee) │ │ │ │ │ +Return total number of individual active malloc areas. │ │ │ │ │ +_V_m_e_m___m_a_l_l_o_c_A_r_e_a_s_T_o_t_a_l │ │ │ │ │ +size_t Vmem_mallocAreasTotal(void) │ │ │ │ │ +Return total of all active Vmem malloc areas by groups. │ │ │ │ │ +_V_m_e_m___p_r_i_n_t_T_o_t_a_l │ │ │ │ │ +void Vmem_printTotal(void) │ │ │ │ │ +Print current memory statistics for all Vmem malloc/free areas. │ │ │ │ │ +_V_m_e_m___f_r_e_e_B_y_t_e_s │ │ │ │ │ +size_t Vmem_freeBytes(Vmem *thee) │ │ │ │ │ +Return total of all frees performed by Vmem object. │ │ │ │ │ +_V_m_e_m___h_i_g_h_W_a_t_e_r │ │ │ │ │ +size_t Vmem_highWater(Vmem *thee) │ │ │ │ │ +Return high-water malloc bytemark hit by Vmem object. │ │ │ │ │ +_V_m_e_m___m_a_l_l_o_c │ │ │ │ │ +void * Vmem_malloc(Vmem *thee, size_t num, size_t size) │ │ │ │ │ +A safe logged version of malloc. │ │ │ │ │ +_V_m_e_m___b_y_t_e_s_T_o_t_a_l │ │ │ │ │ +size_t Vmem_bytesTotal(void) │ │ │ │ │ +Return total of all active Vmem malloc areas (current footprint) │ │ │ │ │ +_V_m_e_m___f_r_e_e_B_y_t_e_s_T_o_t_a_l │ │ │ │ │ +size_t Vmem_freeBytesTotal(void) │ │ │ │ │ +Return total of all Vmem free calls. │ │ │ │ │ +_V_m_e_m___r_e_a_l_l_o_c │ │ │ │ │ +void * Vmem_realloc(Vmem *thee, size_t num, size_t size, void **ram, size_t │ │ │ │ │ +newNum) │ │ │ │ │ +A safe logged version of realloc (usually a bad idea to use this) │ │ │ │ │ +_V_m_e_m___c_t_o_r │ │ │ │ │ +Vmem * Vmem_ctor(char *name) │ │ │ │ │ +Construct the dynamic memory allocation logging object. │ │ │ │ │ +_V_m_e_m___h_i_g_h_W_a_t_e_r_T_o_t_a_l │ │ │ │ │ +size_t Vmem_highWaterTotal(void) │ │ │ │ │ +Return the high-water byte mark (largest footprint) │ │ │ │ │ +_V_m_e_m___b_y_t_e_s │ │ │ │ │ +size_t Vmem_bytes(Vmem *thee) │ │ │ │ │ +Return total of all ACTIVE malloc areas used by Vmem object. │ │ │ │ │ +_V_m_e_m___p_r_i_n_t │ │ │ │ │ +void Vmem_print(Vmem *thee) │ │ │ │ │ +Print current memory stats associated with this Vmem object. │ │ │ │ │ +_V_m_e_m___d_t_o_r │ │ │ │ │ +void Vmem_dtor(Vmem **thee) │ │ │ │ │ +Destruct the dynamic memory allocation logging object. │ │ │ │ │ +_V_m_e_m___m_a_l_l_o_c_B_y_t_e_s │ │ │ │ │ +size_t Vmem_mallocBytes(Vmem *thee) │ │ │ │ │ +Return total of all mallocs performed by Vmem object. │ │ │ │ │ +_V_m_e_m___m_a_l_l_o_c_B_y_t_e_s_T_o_t_a_l │ │ │ │ │ +size_t Vmem_mallocBytesTotal(void) │ │ │ │ │ +Return total of all Vmem malloc allocations. │ │ │ │ │ +_s_V_m_e_m │ │ │ │ │ +Contains public data members for Vmem class. │ │ │ │ │ +DDeeffiinniittiioonn vmem.h:57 │ │ │ │ │ +_s_V_m_e_m_:_:_n_a_m_e │ │ │ │ │ +char name[VMAX_ARGLEN] │ │ │ │ │ +DDeeffiinniittiioonn vmem.h:59 │ │ │ │ │ +_s_V_m_e_m_:_:_f_r_e_e_B_y_t_e_s │ │ │ │ │ +size_t freeBytes │ │ │ │ │ +DDeeffiinniittiioonn vmem.h:62 │ │ │ │ │ +_s_V_m_e_m_:_:_m_a_l_l_o_c_B_y_t_e_s │ │ │ │ │ +size_t mallocBytes │ │ │ │ │ +DDeeffiinniittiioonn vmem.h:61 │ │ │ │ │ +_s_V_m_e_m_:_:_m_a_l_l_o_c_A_r_e_a_s │ │ │ │ │ +size_t mallocAreas │ │ │ │ │ +DDeeffiinniittiioonn vmem.h:64 │ │ │ │ │ +_s_V_m_e_m_:_:_h_i_g_h_W_a_t_e_r │ │ │ │ │ +size_t highWater │ │ │ │ │ +DDeeffiinniittiioonn vmem.h:63 │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00030.dot.gz │ │ │ │ ├── a00030.dot │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ -digraph "vpred.h" │ │ │ │ │ +digraph "vmem.h" │ │ │ │ │ { │ │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ │ bgcolor="transparent"; │ │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ │ - Node1 [id="Node000001",label="vpred.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node1 [id="Node000001",label="vmem.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node2 [id="Node000002",label="maloc/maloc_base.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00002.html",tooltip="The base (or foundation) header for MALOC."]; │ │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node3 [id="Node000003",label="assert.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node4 [id="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node4 [id="Node000004",label="ctype.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "]; │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00031.dot │ │ │ │ @@ -1,28 +1,31 @@ │ │ │ │ -digraph "vpred.h" │ │ │ │ +digraph "vmem.h" │ │ │ │ { │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ bgcolor="transparent"; │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ - Node1 [id="Node000001",label="vpred.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ + Node1 [id="Node000001",label="vmem.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 [id="Node000002",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ + Node2 [id="Node000002",label="vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 [id="Node000003",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ - Node2 -> Node4 [id="edge3_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node4 [id="Node000004",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ - Node4 -> Node3 [id="edge4_Node000004_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 -> Node5 [id="edge5_Node000002_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node5 [id="Node000005",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ - Node5 -> Node6 [id="edge6_Node000005_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node6 [id="Node000006",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ - Node6 -> Node4 [id="edge7_Node000006_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 -> Node6 [id="edge8_Node000002_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 -> Node7 [id="edge9_Node000002_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node7 [id="Node000007",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ - Node7 -> Node6 [id="edge10_Node000007_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 -> Node8 [id="edge11_Node000002_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node8 [id="Node000008",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ - Node8 -> Node3 [id="edge12_Node000008_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node8 -> Node4 [id="edge13_Node000008_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node3 [id="Node000003",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ + Node3 -> Node4 [id="edge3_Node000003_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node4 [id="Node000004",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ + Node3 -> Node5 [id="edge4_Node000003_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node5 [id="Node000005",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ + Node5 -> Node4 [id="edge5_Node000005_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node3 -> Node6 [id="edge6_Node000003_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node6 [id="Node000006",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ + Node6 -> Node7 [id="edge7_Node000006_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node7 [id="Node000007",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ + Node7 -> Node5 [id="edge8_Node000007_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node3 -> Node7 [id="edge9_Node000003_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node3 -> Node8 [id="edge10_Node000003_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node8 [id="Node000008",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ + Node8 -> Node7 [id="edge11_Node000008_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node3 -> Node9 [id="edge12_Node000003_Node000009",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node9 [id="Node000009",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ + Node9 -> Node4 [id="edge13_Node000009_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node9 -> Node5 [id="edge14_Node000009_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node1 -> Node3 [id="edge15_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00032.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vio.h File Reference │ │ │ │ +MALOC: vsys.h File Reference │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -39,169 +39,43 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
│ │ │ │ -Classes | │ │ │ │ -Macros | │ │ │ │ -Typedefs | │ │ │ │ -Enumerations | │ │ │ │ -Functions
│ │ │ │ -
vio.h File Reference
│ │ │ │ +
vsys.h File Reference
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ -

Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer. │ │ │ │ +

The primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ #include <maloc/vnm.h>
│ │ │ │ +#include <maloc/vmem.h>
│ │ │ │ +#include <maloc/vio.h>
│ │ │ │ +#include <maloc/vset.h>
│ │ │ │ +#include <maloc/vpred.h>
│ │ │ │
│ │ │ │ -Include dependency graph for vio.h:
│ │ │ │ +Include dependency graph for vsys.h:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │ This graph shows which files directly or indirectly include this file:
│ │ │ │
│ │ │ │ -
│ │ │ │ +
│ │ │ │
│ │ │ │
│ │ │ │

Go to the source code of this file.

│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -

│ │ │ │ -Classes

struct  sVio
 Contains public data members for Vio class. More...
 
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -

│ │ │ │ -Macros

#define VPORTNUMBER   14916
 our portbase; 5000 < VPORTNUMBER < 49152
 
#define VIO_MAXBUF   10
 number of internal buffers (BUFF datatype)
 
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -

│ │ │ │ -Typedefs

typedef enum VIOtype VIOtype
 Parameter for I/O type (sdio,buff,file,unix,inet)
 
typedef enum VIOfrmt VIOfrmt
 Parameter for compression type (XDR,ASC)
 
typedef enum VIOrwkey VIOrwkey
 Parameter for rw type (R,RW)
 
typedef struct sVio Vio
 Declaration of the Vio class as the Vio structure.
 
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -

│ │ │ │ -Enumerations

enum  VIOtype {
│ │ │ │ -  VIO_NO_TYPE │ │ │ │ -, VIO_SDIO │ │ │ │ -, VIO_BUFF │ │ │ │ -, VIO_FILE │ │ │ │ -,
│ │ │ │ -  VIO_UNIX │ │ │ │ -, VIO_INET │ │ │ │ -
│ │ │ │ - }
 Parameter for I/O type (sdio,buff,file,unix,inet) More...
 
enum  VIOfrmt { VIO_NO_FRMT │ │ │ │ -, VIO_XDR │ │ │ │ -, VIO_ASC │ │ │ │ - }
 Parameter for compression type (XDR,ASC) More...
 
enum  VIOrwkey { VIO_NO_RW │ │ │ │ -, VIO_R │ │ │ │ -, VIO_W │ │ │ │ - }
 Parameter for rw type (R,RW) More...
 
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -

│ │ │ │ -Functions

void Vio_start (void)
 Start Vio communication layer (init internal variables/buffers)
 
void Vio_stop (void)
 Shutdown Vio communication layer.
 
VioVio_ctor (const char *socktype, const char *datafrmt, const char *hostname, const char *filename, const char *rwkey)
 Construct the Vio object.
 
int Vio_ctor2 (Vio *thee, const char *socktype, const char *datafrmt, const char *hostname, const char *filename, const char *rwkey)
 Work routine that Vio_ctor calls to do most of the construction.
 
void Vio_dtor (Vio **thee)
 Destruct the Vio object.
 
void Vio_dtor2 (Vio *thee)
 Work routine that Vio_dtor calls to do most of the destruction.
 
void Vio_setWhiteChars (Vio *thee, char *whiteChars)
 Set the white character set for I/O stream.
 
void Vio_setCommChars (Vio *thee, char *commChars)
 Set the comment character set for I/O stream.
 
int Vio_accept (Vio *thee, int nonblock)
 Accept any waiting connect attempt to our socket on our machine.
 
void Vio_acceptFree (Vio *thee)
 Free the socket child that was used for the last accept.
 
int Vio_connect (Vio *thee, int nonblock)
 Connect to some socket on a remote machine (or on our machine)
 
void Vio_connectFree (Vio *thee)
 Purge any output buffers (for <UNIX/INET>, else a no-op)
 
int Vio_scanf (Vio *thee, char *parms,...)
 Mimic "scanf" from an arbitrary Vio device.
 
int Vio_printf (Vio *thee, char *parms,...)
 Mimic "printf" from an arbitrary Vio device.
 
int Vio_read (Vio *thee, char *buf, int bufsize)
 Read (up to) bufsize characters into buf from input device.
 
int Vio_write (Vio *thee, char *buf, int bufsize)
 Write bufsize characters from buf to output device.
 
void Vio_bufTake (Vio *thee, char *buf, int bufsize)
 Set the pointer to the internal buffer.
 
char * Vio_bufGive (Vio *thee)
 Return the pointer to the internal buffer.
 
int Vio_bufSize (Vio *thee)
 Return the length to the internal buffer.
 
VioVio_socketOpen (char *key, const char *iodev, const char *iofmt, const char *iohost, const char *iofile)
 Socket open for read or write.
 
void Vio_socketClose (Vio **sock)
 Socket close from read or write.
 
│ │ │ │

Detailed Description

│ │ │ │ -

Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer.

│ │ │ │ +

The primary header for VSYS. (Virtual SYStem utilities library.)

│ │ │ │ +
Author
Michael Holst
│ │ │ │
Version
│ │ │ │ -
Id
vio.h,v 1.28 2010/08/12 05:40:35 fetk Exp
│ │ │ │ -
Author
Michael Holst
│ │ │ │ +
Id
vsys.h,v 1.12 2010/08/12 05:40:37 fetk Exp
│ │ │ │
Attention
*
│ │ │ │  * MALOC = < Minimal Abstraction Layer for Object-oriented C >
│ │ │ │  * Copyright (C) 1994-- Michael Holst
│ │ │ │  *
│ │ │ │  * This library is free software; you can redistribute it and/or
│ │ │ │  * modify it under the terms of the GNU Lesser General Public
│ │ │ │  * License as published by the Free Software Foundation; either
│ │ │ │ @@ -212,48 +86,15 @@
│ │ │ │  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
│ │ │ │  * Lesser General Public License for more details.
│ │ │ │  *
│ │ │ │  * You should have received a copy of the GNU Lesser General Public
│ │ │ │  * License along with this library; if not, write to the Free Software
│ │ │ │  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
│ │ │ │  * 
│ │ │ │ -* 
│ │ │ │ -

Macro Definition Documentation

│ │ │ │ - │ │ │ │ -

◆ VIO_MAXBUF

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define VIO_MAXBUF   10
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

number of internal buffers (BUFF datatype)

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

◆ VPORTNUMBER

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
#define VPORTNUMBER   14916
│ │ │ │ -
│ │ │ │ - │ │ │ │ -

our portbase; 5000 < VPORTNUMBER < 49152

│ │ │ │ - │ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ +* │ │ │ │ +
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,131 +1,30 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _v_s_y_s │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -_C_l_a_s_s_e_s | _M_a_c_r_o_s | _T_y_p_e_d_e_f_s | _E_n_u_m_e_r_a_t_i_o_n_s | _F_u_n_c_t_i_o_n_s │ │ │ │ │ -vio.h File Reference │ │ │ │ │ -_V_i_o_ _c_l_a_s_s │ │ │ │ │ -Class Vio: virtual I/O layer. _M_o_r_e_._._. │ │ │ │ │ +vsys.h File Reference │ │ │ │ │ +_g_l_o_b_a_l___m_a_l_o_c_ _c_l_a_s_s │ │ │ │ │ +The primary header for VSYS. (Virtual SYStem utilities library.) _M_o_r_e_._._. │ │ │ │ │ #include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ #include <_m_a_l_o_c_/_v_n_m_._h> │ │ │ │ │ -Include dependency graph for vio.h: │ │ │ │ │ +#include <_m_a_l_o_c_/_v_m_e_m_._h> │ │ │ │ │ +#include <_m_a_l_o_c_/_v_i_o_._h> │ │ │ │ │ +#include <_m_a_l_o_c_/_v_s_e_t_._h> │ │ │ │ │ +#include <_m_a_l_o_c_/_v_p_r_e_d_._h> │ │ │ │ │ +Include dependency graph for vsys.h: │ │ │ │ │ This graph shows which files directly or indirectly include this file: │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _s_o_u_r_c_e_ _c_o_d_e_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ -CCllaasssseess │ │ │ │ │ -struct   _s_V_i_o │ │ │ │ │ -  Contains public data members for Vio class. _M_o_r_e_._._. │ │ │ │ │ -  │ │ │ │ │ -MMaaccrrooss │ │ │ │ │ -#define  _V_P_O_R_T_N_U_M_B_E_R   14916 │ │ │ │ │ -  our portbase; 5000 < VPORTNUMBER < 49152 │ │ │ │ │ -  │ │ │ │ │ -#define  _V_I_O___M_A_X_B_U_F   10 │ │ │ │ │ -  number of internal buffers (BUFF datatype) │ │ │ │ │ -  │ │ │ │ │ -TTyyppeeddeeffss │ │ │ │ │ - typedef enum _V_I_O_t_y_p_e  _V_I_O_t_y_p_e │ │ │ │ │ -  Parameter for I/O type (sdio,buff,file,unix,inet) │ │ │ │ │ -  │ │ │ │ │ - typedef enum _V_I_O_f_r_m_t  _V_I_O_f_r_m_t │ │ │ │ │ -  Parameter for compression type (XDR,ASC) │ │ │ │ │ -  │ │ │ │ │ -typedef enum _V_I_O_r_w_k_e_y  _V_I_O_r_w_k_e_y │ │ │ │ │ -  Parameter for rw type (R,RW) │ │ │ │ │ -  │ │ │ │ │ - typedef struct _s_V_i_o  _V_i_o │ │ │ │ │ -  Declaration of the Vio class as the Vio structure. │ │ │ │ │ -  │ │ │ │ │ -EEnnuummeerraattiioonnss │ │ │ │ │ -enum   _V_I_O_t_y_p_e { │ │ │ │ │ -   _V_I_O___N_O___T_Y_P_E , _V_I_O___S_D_I_O , _V_I_O___B_U_F_F , _V_I_O___F_I_L_E , │ │ │ │ │ -   _V_I_O___U_N_I_X , _V_I_O___I_N_E_T │ │ │ │ │ - } │ │ │ │ │ -  Parameter for I/O type (sdio,buff,file,unix,inet) _M_o_r_e_._._. │ │ │ │ │ -  │ │ │ │ │ -enum   _V_I_O_f_r_m_t { _V_I_O___N_O___F_R_M_T , _V_I_O___X_D_R , _V_I_O___A_S_C } │ │ │ │ │ -  Parameter for compression type (XDR,ASC) _M_o_r_e_._._. │ │ │ │ │ -  │ │ │ │ │ -enum   _V_I_O_r_w_k_e_y { _V_I_O___N_O___R_W , _V_I_O___R , _V_I_O___W } │ │ │ │ │ -  Parameter for rw type (R,RW) _M_o_r_e_._._. │ │ │ │ │ -  │ │ │ │ │ -FFuunnccttiioonnss │ │ │ │ │ - void  _V_i_o___s_t_a_r_t (void) │ │ │ │ │ -  Start Vio communication layer (init internal variables/buffers) │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___s_t_o_p (void) │ │ │ │ │ -  Shutdown Vio communication layer. │ │ │ │ │ -  │ │ │ │ │ - _V_i_o *  _V_i_o___c_t_o_r (const char *socktype, const char *datafrmt, const char │ │ │ │ │ - *hostname, const char *filename, const char *rwkey) │ │ │ │ │ -  Construct the Vio object. │ │ │ │ │ -  │ │ │ │ │ - int  _V_i_o___c_t_o_r_2 (_V_i_o *thee, const char *socktype, const char *datafrmt, const │ │ │ │ │ - char *hostname, const char *filename, const char *rwkey) │ │ │ │ │ -  Work routine that Vio_ctor calls to do most of the construction. │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___d_t_o_r (_V_i_o **thee) │ │ │ │ │ -  Destruct the Vio object. │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___d_t_o_r_2 (_V_i_o *thee) │ │ │ │ │ -  Work routine that Vio_dtor calls to do most of the destruction. │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___s_e_t_W_h_i_t_e_C_h_a_r_s (_V_i_o *thee, char *whiteChars) │ │ │ │ │ -  Set the white character set for I/O stream. │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___s_e_t_C_o_m_m_C_h_a_r_s (_V_i_o *thee, char *commChars) │ │ │ │ │ -  Set the comment character set for I/O stream. │ │ │ │ │ -  │ │ │ │ │ - int  _V_i_o___a_c_c_e_p_t (_V_i_o *thee, int nonblock) │ │ │ │ │ -  Accept any waiting connect attempt to our socket on our machine. │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___a_c_c_e_p_t_F_r_e_e (_V_i_o *thee) │ │ │ │ │ -  Free the socket child that was used for the last accept. │ │ │ │ │ -  │ │ │ │ │ - int  _V_i_o___c_o_n_n_e_c_t (_V_i_o *thee, int nonblock) │ │ │ │ │ -  Connect to some socket on a remote machine (or on our machine) │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___c_o_n_n_e_c_t_F_r_e_e (_V_i_o *thee) │ │ │ │ │ -  Purge any output buffers (for , else a no-op) │ │ │ │ │ -  │ │ │ │ │ - int  _V_i_o___s_c_a_n_f (_V_i_o *thee, char *parms,...) │ │ │ │ │ -  Mimic "scanf" from an arbitrary Vio device. │ │ │ │ │ -  │ │ │ │ │ - int  _V_i_o___p_r_i_n_t_f (_V_i_o *thee, char *parms,...) │ │ │ │ │ -  Mimic "printf" from an arbitrary Vio device. │ │ │ │ │ -  │ │ │ │ │ - int  _V_i_o___r_e_a_d (_V_i_o *thee, char *buf, int bufsize) │ │ │ │ │ -  Read (up to) bufsize characters into buf from input device. │ │ │ │ │ -  │ │ │ │ │ - int  _V_i_o___w_r_i_t_e (_V_i_o *thee, char *buf, int bufsize) │ │ │ │ │ -  Write bufsize characters from buf to output device. │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___b_u_f_T_a_k_e (_V_i_o *thee, char *buf, int bufsize) │ │ │ │ │ -  Set the pointer to the internal buffer. │ │ │ │ │ -  │ │ │ │ │ -char *  _V_i_o___b_u_f_G_i_v_e (_V_i_o *thee) │ │ │ │ │ -  Return the pointer to the internal buffer. │ │ │ │ │ -  │ │ │ │ │ - int  _V_i_o___b_u_f_S_i_z_e (_V_i_o *thee) │ │ │ │ │ -  Return the length to the internal buffer. │ │ │ │ │ -  │ │ │ │ │ - _V_i_o *  _V_i_o___s_o_c_k_e_t_O_p_e_n (char *key, const char *iodev, const char *iofmt, const │ │ │ │ │ - char *iohost, const char *iofile) │ │ │ │ │ -  Socket open for read or write. │ │ │ │ │ -  │ │ │ │ │ - void  _V_i_o___s_o_c_k_e_t_C_l_o_s_e (_V_i_o **sock) │ │ │ │ │ -  Socket close from read or write. │ │ │ │ │ -  │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ -Class Vio: virtual I/O layer. │ │ │ │ │ - Version │ │ │ │ │ - Id │ │ │ │ │ - _v_i_o_._h,v 1.28 2010/08/12 05:40:35 fetk Exp │ │ │ │ │ +The primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │ │ Author │ │ │ │ │ Michael Holst │ │ │ │ │ + Version │ │ │ │ │ + Id │ │ │ │ │ + _v_s_y_s_._h,v 1.12 2010/08/12 05:40:37 fetk Exp │ │ │ │ │ Attention │ │ │ │ │ * │ │ │ │ │ * MALOC = < Minimal Abstraction Layer for Object-oriented C > │ │ │ │ │ * Copyright (C) 1994-- Michael Holst │ │ │ │ │ * │ │ │ │ │ * This library is free software; you can redistribute it and/or │ │ │ │ │ * modify it under the terms of the GNU Lesser General Public │ │ │ │ │ @@ -138,16 +37,9 @@ │ │ │ │ │ * Lesser General Public License for more details. │ │ │ │ │ * │ │ │ │ │ * You should have received a copy of the GNU Lesser General Public │ │ │ │ │ * License along with this library; if not, write to the Free Software │ │ │ │ │ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA │ │ │ │ │ * │ │ │ │ │ * │ │ │ │ │ -********** MMaaccrroo DDeeffiinniittiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ -********** _?◆_? VVIIOO__MMAAXXBBUUFF ********** │ │ │ │ │ -#define VIO_MAXBUF   10 │ │ │ │ │ -number of internal buffers (BUFF datatype) │ │ │ │ │ -********** _?◆_? VVPPOORRTTNNUUMMBBEERR ********** │ │ │ │ │ -#define VPORTNUMBER   14916 │ │ │ │ │ -our portbase; 5000 < VPORTNUMBER < 49152 │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00032_source.html │ │ │ │ @@ -1,15 +1,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -MALOC: vio.h Source File │ │ │ │ +MALOC: vsys.h Source File │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ @@ -44,219 +44,37 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
vio.h
│ │ │ │ +
vsys.h
│ │ │ │
│ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │ -
39#ifndef _VIO_H_
│ │ │ │ -
40#define _VIO_H_
│ │ │ │ +
31#ifndef _VSYS_H_
│ │ │ │ +
32#define _VSYS_H_
│ │ │ │ +
33
│ │ │ │ +
34#include <maloc/maloc_base.h>
│ │ │ │ +
35
│ │ │ │ +
36#include <maloc/vnm.h>
│ │ │ │ +
37#include <maloc/vmem.h>
│ │ │ │ +
38#include <maloc/vio.h>
│ │ │ │ +
39#include <maloc/vset.h>
│ │ │ │ +
40#include <maloc/vpred.h>
│ │ │ │
41
│ │ │ │ -
42#include <maloc/maloc_base.h>
│ │ │ │ +
42#endif /* _VSYS_H_ */
│ │ │ │
43
│ │ │ │ -
44#include <maloc/vnm.h>
│ │ │ │ -
45
│ │ │ │ -
46/*
│ │ │ │ -
47 * ***************************************************************************
│ │ │ │ -
48 * Class Vio: Parameters and datatypes
│ │ │ │ -
49 * ***************************************************************************
│ │ │ │ -
50 */
│ │ │ │ -
51
│ │ │ │ -
53#define VPORTNUMBER 14916
│ │ │ │ -
55#define VIO_MAXBUF 10
│ │ │ │ -
56
│ │ │ │ -
│ │ │ │ -
62typedef enum VIOtype {
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
│ │ │ │ -
70
│ │ │ │ -
│ │ │ │ -
76typedef enum VIOfrmt {
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
│ │ │ │ -
81
│ │ │ │ -
│ │ │ │ -
87typedef enum VIOrwkey {
│ │ │ │ - │ │ │ │ - │ │ │ │ -
90 VIO_W
│ │ │ │ - │ │ │ │ -
│ │ │ │ -
92
│ │ │ │ -
│ │ │ │ -
98struct sVio {
│ │ │ │ -
99
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
122 int error;
│ │ │ │ -
123 int dirty;
│ │ │ │ -
125 FILE *fp;
│ │ │ │ -
126 int so;
│ │ │ │ -
127 int soc;
│ │ │ │ -
128 void *name;
│ │ │ │ -
129 void *axdr;
│ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ -
140 char *VIObuffer;
│ │ │ │ - │ │ │ │ - │ │ │ │ -
144};
│ │ │ │ -
│ │ │ │ -
145
│ │ │ │ -
151typedef struct sVio Vio;
│ │ │ │ -
152
│ │ │ │ -
153/*
│ │ │ │ -
154 * ***************************************************************************
│ │ │ │ -
155 * Class Vio: Inlineable methods (vio.c)
│ │ │ │ -
156 * ***************************************************************************
│ │ │ │ -
157 */
│ │ │ │ -
158
│ │ │ │ -
159#if !defined(VINLINE_MALOC)
│ │ │ │ -
160#else /* if defined(VINLINE_MALOC) */
│ │ │ │ -
161#endif /* if !defined(VINLINE_MALOC) */
│ │ │ │ -
162
│ │ │ │ -
163/*
│ │ │ │ -
164 * ***************************************************************************
│ │ │ │ -
165 * Class Vio: Non-Inlineable methods (vio.c)
│ │ │ │ -
166 * ***************************************************************************
│ │ │ │ -
167 */
│ │ │ │ -
168
│ │ │ │ -
176void Vio_start(void);
│ │ │ │ -
177
│ │ │ │ -
185void Vio_stop(void);
│ │ │ │ -
186
│ │ │ │ -
199Vio* Vio_ctor(const char *socktype, const char *datafrmt,
│ │ │ │ -
200 const char *hostname, const char *filename, const char *rwkey);
│ │ │ │ -
201
│ │ │ │ -
215int Vio_ctor2(Vio *thee, const char *socktype, const char *datafrmt,
│ │ │ │ -
216 const char *hostname, const char *filename, const char *rwkey);
│ │ │ │ -
217
│ │ │ │ -
226void Vio_dtor(Vio **thee);
│ │ │ │ -
227
│ │ │ │ -
236void Vio_dtor2(Vio *thee);
│ │ │ │ -
237
│ │ │ │ - │ │ │ │ -
248
│ │ │ │ -
258void Vio_setCommChars(Vio *thee, char *commChars);
│ │ │ │ -
259
│ │ │ │ -
272int Vio_accept(Vio *thee, int nonblock);
│ │ │ │ -
273
│ │ │ │ -
282void Vio_acceptFree(Vio *thee);
│ │ │ │ -
283
│ │ │ │ -
296int Vio_connect(Vio *thee, int nonblock);
│ │ │ │ -
297
│ │ │ │ - │ │ │ │ -
307
│ │ │ │ -
317int Vio_scanf(Vio *thee, char *parms, ...);
│ │ │ │ -
318
│ │ │ │ -
328int Vio_printf(Vio *thee, char *parms, ...);
│ │ │ │ -
329
│ │ │ │ -
340int Vio_read(Vio *thee, char *buf, int bufsize);
│ │ │ │ -
341
│ │ │ │ -
352int Vio_write(Vio *thee, char *buf, int bufsize);
│ │ │ │ -
353
│ │ │ │ -
364void Vio_bufTake(Vio *thee, char *buf, int bufsize);
│ │ │ │ -
365
│ │ │ │ -
374char* Vio_bufGive(Vio *thee);
│ │ │ │ -
375
│ │ │ │ -
384int Vio_bufSize(Vio *thee);
│ │ │ │ -
385
│ │ │ │ - │ │ │ │ -
399 const char *iodev, const char *iofmt,
│ │ │ │ -
400 const char *iohost, const char *iofile);
│ │ │ │ -
401
│ │ │ │ -
410void Vio_socketClose(Vio **sock);
│ │ │ │ -
411
│ │ │ │ -
412#endif /* _VIO_H_ */
│ │ │ │ -
413
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │ -
#define VMAX_ARGNUM
Global constant.
Definition maloc_base.h:225
│ │ │ │ -
#define VMAX_BUFSIZE
Global constant.
Definition maloc_base.h:229
│ │ │ │ -
#define VMAX_ARGLEN
Global constant.
Definition maloc_base.h:227
│ │ │ │ +
Class Vset: a dynamic set object.
│ │ │ │ +
Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer.
│ │ │ │ +
Header file for the Geometric Predicates.
│ │ │ │ +
Class Vmem: A safer, object-oriented, malloc/free object.
│ │ │ │
Header file for an ISO C [V]irtual [N]umerical [M]achine.
│ │ │ │ -
int Vio_bufSize(Vio *thee)
Return the length to the internal buffer.
│ │ │ │ -
void Vio_stop(void)
Shutdown Vio communication layer.
│ │ │ │ -
int Vio_write(Vio *thee, char *buf, int bufsize)
Write bufsize characters from buf to output device.
│ │ │ │ -
int Vio_scanf(Vio *thee, char *parms,...)
Mimic "scanf" from an arbitrary Vio device.
│ │ │ │ -
void Vio_acceptFree(Vio *thee)
Free the socket child that was used for the last accept.
│ │ │ │ -
void Vio_start(void)
Start Vio communication layer (init internal variables/buffers)
│ │ │ │ -
int Vio_printf(Vio *thee, char *parms,...)
Mimic "printf" from an arbitrary Vio device.
│ │ │ │ -
Vio * Vio_socketOpen(char *key, const char *iodev, const char *iofmt, const char *iohost, const char *iofile)
Socket open for read or write.
│ │ │ │ -
void Vio_setWhiteChars(Vio *thee, char *whiteChars)
Set the white character set for I/O stream.
│ │ │ │ -
void Vio_socketClose(Vio **sock)
Socket close from read or write.
│ │ │ │ -
int Vio_connect(Vio *thee, int nonblock)
Connect to some socket on a remote machine (or on our machine)
│ │ │ │ -
VIOfrmt
Parameter for compression type (XDR,ASC)
Definition vio.h:76
│ │ │ │ -
int Vio_accept(Vio *thee, int nonblock)
Accept any waiting connect attempt to our socket on our machine.
│ │ │ │ -
Vio * Vio_ctor(const char *socktype, const char *datafrmt, const char *hostname, const char *filename, const char *rwkey)
Construct the Vio object.
│ │ │ │ -
VIOtype
Parameter for I/O type (sdio,buff,file,unix,inet)
Definition vio.h:62
│ │ │ │ -
void Vio_dtor(Vio **thee)
Destruct the Vio object.
│ │ │ │ -
int Vio_read(Vio *thee, char *buf, int bufsize)
Read (up to) bufsize characters into buf from input device.
│ │ │ │ -
void Vio_bufTake(Vio *thee, char *buf, int bufsize)
Set the pointer to the internal buffer.
│ │ │ │ -
void Vio_connectFree(Vio *thee)
Purge any output buffers (for <UNIX/INET>, else a no-op)
│ │ │ │ -
void Vio_setCommChars(Vio *thee, char *commChars)
Set the comment character set for I/O stream.
│ │ │ │ -
char * Vio_bufGive(Vio *thee)
Return the pointer to the internal buffer.
│ │ │ │ -
VIOrwkey
Parameter for rw type (R,RW)
Definition vio.h:87
│ │ │ │ -
void Vio_dtor2(Vio *thee)
Work routine that Vio_dtor calls to do most of the destruction.
│ │ │ │ -
int Vio_ctor2(Vio *thee, const char *socktype, const char *datafrmt, const char *hostname, const char *filename, const char *rwkey)
Work routine that Vio_ctor calls to do most of the construction.
│ │ │ │ -
@ VIO_XDR
Definition vio.h:78
│ │ │ │ -
@ VIO_NO_FRMT
Definition vio.h:77
│ │ │ │ -
@ VIO_ASC
Definition vio.h:79
│ │ │ │ -
@ VIO_NO_TYPE
Definition vio.h:63
│ │ │ │ -
@ VIO_FILE
Definition vio.h:66
│ │ │ │ -
@ VIO_UNIX
Definition vio.h:67
│ │ │ │ -
@ VIO_BUFF
Definition vio.h:65
│ │ │ │ -
@ VIO_SDIO
Definition vio.h:64
│ │ │ │ -
@ VIO_INET
Definition vio.h:68
│ │ │ │ -
@ VIO_NO_RW
Definition vio.h:88
│ │ │ │ -
@ VIO_W
Definition vio.h:90
│ │ │ │ -
@ VIO_R
Definition vio.h:89
│ │ │ │ -
Contains public data members for Vio class.
Definition vio.h:98
│ │ │ │ -
char putBuffer[VMAX_BUFSIZE]
Definition vio.h:137
│ │ │ │ -
VIOtype type
Definition vio.h:100
│ │ │ │ -
int ioBufferLen
Definition vio.h:135
│ │ │ │ -
VIOrwkey rwkey
Definition vio.h:113
│ │ │ │ -
char commChars[VMAX_ARGNUM]
Definition vio.h:132
│ │ │ │ -
int VIObufferPtr
Definition vio.h:142
│ │ │ │ -
FILE * fp
Definition vio.h:125
│ │ │ │ -
VIOfrmt frmt
Definition vio.h:108
│ │ │ │ -
int dirty
Definition vio.h:123
│ │ │ │ -
int soc
Definition vio.h:127
│ │ │ │ -
char lhost[VMAX_ARGLEN]
Definition vio.h:119
│ │ │ │ -
char whiteChars[VMAX_ARGNUM]
Definition vio.h:131
│ │ │ │ -
char ioBuffer[VMAX_BUFSIZE]
Definition vio.h:134
│ │ │ │ -
int VIObufferLen
Definition vio.h:141
│ │ │ │ -
char file[VMAX_ARGLEN]
Definition vio.h:118
│ │ │ │ -
void * name
Definition vio.h:128
│ │ │ │ -
void * axdr
Definition vio.h:129
│ │ │ │ -
char * VIObuffer
Definition vio.h:140
│ │ │ │ -
int putBufferLen
Definition vio.h:138
│ │ │ │ -
int so
Definition vio.h:126
│ │ │ │ -
char rhost[VMAX_ARGLEN]
Definition vio.h:120
│ │ │ │ -
int error
Definition vio.h:122
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -1,343 +1,34 @@ │ │ │ │ │ MALOC 0.1 │ │ │ │ │ * _s_r_c │ │ │ │ │ * _v_s_y_s │ │ │ │ │ * _m_a_l_o_c │ │ │ │ │ -vio.h │ │ │ │ │ +vsys.h │ │ │ │ │ _G_o_ _t_o_ _t_h_e_ _d_o_c_u_m_e_n_t_a_t_i_o_n_ _o_f_ _t_h_i_s_ _f_i_l_e_. │ │ │ │ │ 1 │ │ │ │ │ -39#ifndef _VIO_H_ │ │ │ │ │ -40#define _VIO_H_ │ │ │ │ │ +31#ifndef _VSYS_H_ │ │ │ │ │ +32#define _VSYS_H_ │ │ │ │ │ +33 │ │ │ │ │ +34#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ +35 │ │ │ │ │ +36#include <_m_a_l_o_c_/_v_n_m_._h> │ │ │ │ │ +37#include <_m_a_l_o_c_/_v_m_e_m_._h> │ │ │ │ │ +38#include <_m_a_l_o_c_/_v_i_o_._h> │ │ │ │ │ +39#include <_m_a_l_o_c_/_v_s_e_t_._h> │ │ │ │ │ +40#include <_m_a_l_o_c_/_v_p_r_e_d_._h> │ │ │ │ │ 41 │ │ │ │ │ -42#include <_m_a_l_o_c_/_m_a_l_o_c___b_a_s_e_._h> │ │ │ │ │ +42#endif /* _VSYS_H_ */ │ │ │ │ │ 43 │ │ │ │ │ -44#include <_m_a_l_o_c_/_v_n_m_._h> │ │ │ │ │ -45 │ │ │ │ │ -46/* │ │ │ │ │ -47 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -48 * Class Vio: Parameters and datatypes │ │ │ │ │ -49 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -50 */ │ │ │ │ │ -51 │ │ │ │ │ -_5_3#define VPORTNUMBER 14916 │ │ │ │ │ -_5_5#define VIO_MAXBUF 10 │ │ │ │ │ -56 │ │ │ │ │ -_6_2typedef enum _V_I_O_t_y_p_e { │ │ │ │ │ -_6_3 _V_I_O___N_O___T_Y_P_E, │ │ │ │ │ -_6_4 _V_I_O___S_D_I_O, │ │ │ │ │ -_6_5 _V_I_O___B_U_F_F, │ │ │ │ │ -_6_6 _V_I_O___F_I_L_E, │ │ │ │ │ -_6_7 _V_I_O___U_N_I_X, │ │ │ │ │ -68 _V_I_O___I_N_E_T │ │ │ │ │ -_6_9} _V_I_O_t_y_p_e; │ │ │ │ │ -70 │ │ │ │ │ -_7_6typedef enum _V_I_O_f_r_m_t { │ │ │ │ │ -_7_7 _V_I_O___N_O___F_R_M_T, │ │ │ │ │ -_7_8 _V_I_O___X_D_R, │ │ │ │ │ -79 _V_I_O___A_S_C │ │ │ │ │ -_8_0} _V_I_O_f_r_m_t; │ │ │ │ │ -81 │ │ │ │ │ -_8_7typedef enum _V_I_O_r_w_k_e_y { │ │ │ │ │ -_8_8 _V_I_O___N_O___R_W, │ │ │ │ │ -_8_9 _V_I_O___R, │ │ │ │ │ -90 _V_I_O___W │ │ │ │ │ -_9_1} _V_I_O_r_w_k_e_y; │ │ │ │ │ -92 │ │ │ │ │ -_9_8struct _s_V_i_o { │ │ │ │ │ -99 │ │ │ │ │ -_1_0_0 _V_I_O_t_y_p_e _t_y_p_e; │ │ │ │ │ -_1_0_8 _V_I_O_f_r_m_t _f_r_m_t; │ │ │ │ │ -_1_1_3 _V_I_O_r_w_k_e_y _r_w_k_e_y; │ │ │ │ │ -_1_1_8 char _f_i_l_e[_V_M_A_X___A_R_G_L_E_N]; │ │ │ │ │ -_1_1_9 char _l_h_o_s_t[_V_M_A_X___A_R_G_L_E_N]; │ │ │ │ │ -_1_2_0 char _r_h_o_s_t[_V_M_A_X___A_R_G_L_E_N]; │ │ │ │ │ -_1_2_2 int _e_r_r_o_r; │ │ │ │ │ -_1_2_3 int _d_i_r_t_y; │ │ │ │ │ -_1_2_5 FILE *_f_p; │ │ │ │ │ -_1_2_6 int _s_o; │ │ │ │ │ -_1_2_7 int _s_o_c; │ │ │ │ │ -_1_2_8 void *_n_a_m_e; │ │ │ │ │ -_1_2_9 void *_a_x_d_r; │ │ │ │ │ -_1_3_1 char _w_h_i_t_e_C_h_a_r_s[_V_M_A_X___A_R_G_N_U_M]; │ │ │ │ │ -_1_3_2 char _c_o_m_m_C_h_a_r_s[_V_M_A_X___A_R_G_N_U_M]; │ │ │ │ │ -_1_3_4 char _i_o_B_u_f_f_e_r[_V_M_A_X___B_U_F_S_I_Z_E]; │ │ │ │ │ -_1_3_5 int _i_o_B_u_f_f_e_r_L_e_n; │ │ │ │ │ -_1_3_7 char _p_u_t_B_u_f_f_e_r[_V_M_A_X___B_U_F_S_I_Z_E]; │ │ │ │ │ -_1_3_8 int _p_u_t_B_u_f_f_e_r_L_e_n; │ │ │ │ │ -_1_4_0 char *_V_I_O_b_u_f_f_e_r; │ │ │ │ │ -_1_4_1 int _V_I_O_b_u_f_f_e_r_L_e_n; │ │ │ │ │ -_1_4_2 int _V_I_O_b_u_f_f_e_r_P_t_r; │ │ │ │ │ -144}; │ │ │ │ │ -145 │ │ │ │ │ -_1_5_1typedef struct _s_V_i_o _V_i_o; │ │ │ │ │ -152 │ │ │ │ │ -153/* │ │ │ │ │ -154 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -155 * Class Vio: Inlineable methods (vio.c) │ │ │ │ │ -156 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -157 */ │ │ │ │ │ -158 │ │ │ │ │ -159#if !defined(VINLINE_MALOC) │ │ │ │ │ -160#else /* if defined(VINLINE_MALOC) */ │ │ │ │ │ -161#endif /* if !defined(VINLINE_MALOC) */ │ │ │ │ │ -162 │ │ │ │ │ -163/* │ │ │ │ │ -164 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -165 * Class Vio: Non-Inlineable methods (vio.c) │ │ │ │ │ -166 * │ │ │ │ │ -*************************************************************************** │ │ │ │ │ -167 */ │ │ │ │ │ -168 │ │ │ │ │ -_1_7_6void _V_i_o___s_t_a_r_t(void); │ │ │ │ │ -177 │ │ │ │ │ -_1_8_5void _V_i_o___s_t_o_p(void); │ │ │ │ │ -186 │ │ │ │ │ -_1_9_9_V_i_o* _V_i_o___c_t_o_r(const char *socktype, const char *datafrmt, │ │ │ │ │ -200 const char *hostname, const char *filename, const char *_r_w_k_e_y); │ │ │ │ │ -201 │ │ │ │ │ -_2_1_5int _V_i_o___c_t_o_r_2(_V_i_o *thee, const char *socktype, const char *datafrmt, │ │ │ │ │ -216 const char *hostname, const char *filename, const char *_r_w_k_e_y); │ │ │ │ │ -217 │ │ │ │ │ -_2_2_6void _V_i_o___d_t_o_r(_V_i_o **thee); │ │ │ │ │ -227 │ │ │ │ │ -_2_3_6void _V_i_o___d_t_o_r_2(_V_i_o *thee); │ │ │ │ │ -237 │ │ │ │ │ -_2_4_7void _V_i_o___s_e_t_W_h_i_t_e_C_h_a_r_s(_V_i_o *thee, char *_w_h_i_t_e_C_h_a_r_s); │ │ │ │ │ -248 │ │ │ │ │ -_2_5_8void _V_i_o___s_e_t_C_o_m_m_C_h_a_r_s(_V_i_o *thee, char *_c_o_m_m_C_h_a_r_s); │ │ │ │ │ -259 │ │ │ │ │ -_2_7_2int _V_i_o___a_c_c_e_p_t(_V_i_o *thee, int nonblock); │ │ │ │ │ -273 │ │ │ │ │ -_2_8_2void _V_i_o___a_c_c_e_p_t_F_r_e_e(_V_i_o *thee); │ │ │ │ │ -283 │ │ │ │ │ -_2_9_6int _V_i_o___c_o_n_n_e_c_t(_V_i_o *thee, int nonblock); │ │ │ │ │ -297 │ │ │ │ │ -_3_0_6void _V_i_o___c_o_n_n_e_c_t_F_r_e_e(_V_i_o *thee); │ │ │ │ │ -307 │ │ │ │ │ -_3_1_7int _V_i_o___s_c_a_n_f(_V_i_o *thee, char *parms, ...); │ │ │ │ │ -318 │ │ │ │ │ -_3_2_8int _V_i_o___p_r_i_n_t_f(_V_i_o *thee, char *parms, ...); │ │ │ │ │ -329 │ │ │ │ │ -_3_4_0int _V_i_o___r_e_a_d(_V_i_o *thee, char *buf, int bufsize); │ │ │ │ │ -341 │ │ │ │ │ -_3_5_2int _V_i_o___w_r_i_t_e(_V_i_o *thee, char *buf, int bufsize); │ │ │ │ │ -353 │ │ │ │ │ -_3_6_4void _V_i_o___b_u_f_T_a_k_e(_V_i_o *thee, char *buf, int bufsize); │ │ │ │ │ -365 │ │ │ │ │ -_3_7_4char* _V_i_o___b_u_f_G_i_v_e(_V_i_o *thee); │ │ │ │ │ -375 │ │ │ │ │ -_3_8_4int _V_i_o___b_u_f_S_i_z_e(_V_i_o *thee); │ │ │ │ │ -385 │ │ │ │ │ -_3_9_8_V_i_o *_V_i_o___s_o_c_k_e_t_O_p_e_n(char *key, │ │ │ │ │ -399 const char *iodev, const char *iofmt, │ │ │ │ │ -400 const char *iohost, const char *iofile); │ │ │ │ │ -401 │ │ │ │ │ -_4_1_0void _V_i_o___s_o_c_k_e_t_C_l_o_s_e(_V_i_o **sock); │ │ │ │ │ -411 │ │ │ │ │ -412#endif /* _VIO_H_ */ │ │ │ │ │ -413 │ │ │ │ │ _m_a_l_o_c___b_a_s_e_._h │ │ │ │ │ The base (or foundation) header for MALOC. │ │ │ │ │ -_V_M_A_X___A_R_G_N_U_M │ │ │ │ │ -#define VMAX_ARGNUM │ │ │ │ │ -Global constant. │ │ │ │ │ -DDeeffiinniittiioonn maloc_base.h:225 │ │ │ │ │ -_V_M_A_X___B_U_F_S_I_Z_E │ │ │ │ │ -#define VMAX_BUFSIZE │ │ │ │ │ -Global constant. │ │ │ │ │ -DDeeffiinniittiioonn maloc_base.h:229 │ │ │ │ │ -_V_M_A_X___A_R_G_L_E_N │ │ │ │ │ -#define VMAX_ARGLEN │ │ │ │ │ -Global constant. │ │ │ │ │ -DDeeffiinniittiioonn maloc_base.h:227 │ │ │ │ │ +_v_s_e_t_._h │ │ │ │ │ +Class Vset: a dynamic set object. │ │ │ │ │ +_v_i_o_._h │ │ │ │ │ +Class Vio: virtual I/O layer. │ │ │ │ │ +_v_p_r_e_d_._h │ │ │ │ │ +Header file for the Geometric Predicates. │ │ │ │ │ +_v_m_e_m_._h │ │ │ │ │ +Class Vmem: A safer, object-oriented, malloc/free object. │ │ │ │ │ _v_n_m_._h │ │ │ │ │ Header file for an ISO C [V]irtual [N]umerical [M]achine. │ │ │ │ │ -_V_i_o___b_u_f_S_i_z_e │ │ │ │ │ -int Vio_bufSize(Vio *thee) │ │ │ │ │ -Return the length to the internal buffer. │ │ │ │ │ -_V_i_o___s_t_o_p │ │ │ │ │ -void Vio_stop(void) │ │ │ │ │ -Shutdown Vio communication layer. │ │ │ │ │ -_V_i_o___w_r_i_t_e │ │ │ │ │ -int Vio_write(Vio *thee, char *buf, int bufsize) │ │ │ │ │ -Write bufsize characters from buf to output device. │ │ │ │ │ -_V_i_o___s_c_a_n_f │ │ │ │ │ -int Vio_scanf(Vio *thee, char *parms,...) │ │ │ │ │ -Mimic "scanf" from an arbitrary Vio device. │ │ │ │ │ -_V_i_o___a_c_c_e_p_t_F_r_e_e │ │ │ │ │ -void Vio_acceptFree(Vio *thee) │ │ │ │ │ -Free the socket child that was used for the last accept. │ │ │ │ │ -_V_i_o___s_t_a_r_t │ │ │ │ │ -void Vio_start(void) │ │ │ │ │ -Start Vio communication layer (init internal variables/buffers) │ │ │ │ │ -_V_i_o___p_r_i_n_t_f │ │ │ │ │ -int Vio_printf(Vio *thee, char *parms,...) │ │ │ │ │ -Mimic "printf" from an arbitrary Vio device. │ │ │ │ │ -_V_i_o___s_o_c_k_e_t_O_p_e_n │ │ │ │ │ -Vio * Vio_socketOpen(char *key, const char *iodev, const char *iofmt, const │ │ │ │ │ -char *iohost, const char *iofile) │ │ │ │ │ -Socket open for read or write. │ │ │ │ │ -_V_i_o___s_e_t_W_h_i_t_e_C_h_a_r_s │ │ │ │ │ -void Vio_setWhiteChars(Vio *thee, char *whiteChars) │ │ │ │ │ -Set the white character set for I/O stream. │ │ │ │ │ -_V_i_o___s_o_c_k_e_t_C_l_o_s_e │ │ │ │ │ -void Vio_socketClose(Vio **sock) │ │ │ │ │ -Socket close from read or write. │ │ │ │ │ -_V_i_o___c_o_n_n_e_c_t │ │ │ │ │ -int Vio_connect(Vio *thee, int nonblock) │ │ │ │ │ -Connect to some socket on a remote machine (or on our machine) │ │ │ │ │ -_V_I_O_f_r_m_t │ │ │ │ │ -VIOfrmt │ │ │ │ │ -Parameter for compression type (XDR,ASC) │ │ │ │ │ -DDeeffiinniittiioonn vio.h:76 │ │ │ │ │ -_V_i_o___a_c_c_e_p_t │ │ │ │ │ -int Vio_accept(Vio *thee, int nonblock) │ │ │ │ │ -Accept any waiting connect attempt to our socket on our machine. │ │ │ │ │ -_V_i_o___c_t_o_r │ │ │ │ │ -Vio * Vio_ctor(const char *socktype, const char *datafrmt, const char │ │ │ │ │ -*hostname, const char *filename, const char *rwkey) │ │ │ │ │ -Construct the Vio object. │ │ │ │ │ -_V_I_O_t_y_p_e │ │ │ │ │ -VIOtype │ │ │ │ │ -Parameter for I/O type (sdio,buff,file,unix,inet) │ │ │ │ │ -DDeeffiinniittiioonn vio.h:62 │ │ │ │ │ -_V_i_o___d_t_o_r │ │ │ │ │ -void Vio_dtor(Vio **thee) │ │ │ │ │ -Destruct the Vio object. │ │ │ │ │ -_V_i_o___r_e_a_d │ │ │ │ │ -int Vio_read(Vio *thee, char *buf, int bufsize) │ │ │ │ │ -Read (up to) bufsize characters into buf from input device. │ │ │ │ │ -_V_i_o___b_u_f_T_a_k_e │ │ │ │ │ -void Vio_bufTake(Vio *thee, char *buf, int bufsize) │ │ │ │ │ -Set the pointer to the internal buffer. │ │ │ │ │ -_V_i_o___c_o_n_n_e_c_t_F_r_e_e │ │ │ │ │ -void Vio_connectFree(Vio *thee) │ │ │ │ │ -Purge any output buffers (for , else a no-op) │ │ │ │ │ -_V_i_o___s_e_t_C_o_m_m_C_h_a_r_s │ │ │ │ │ -void Vio_setCommChars(Vio *thee, char *commChars) │ │ │ │ │ -Set the comment character set for I/O stream. │ │ │ │ │ -_V_i_o___b_u_f_G_i_v_e │ │ │ │ │ -char * Vio_bufGive(Vio *thee) │ │ │ │ │ -Return the pointer to the internal buffer. │ │ │ │ │ -_V_I_O_r_w_k_e_y │ │ │ │ │ -VIOrwkey │ │ │ │ │ -Parameter for rw type (R,RW) │ │ │ │ │ -DDeeffiinniittiioonn vio.h:87 │ │ │ │ │ -_V_i_o___d_t_o_r_2 │ │ │ │ │ -void Vio_dtor2(Vio *thee) │ │ │ │ │ -Work routine that Vio_dtor calls to do most of the destruction. │ │ │ │ │ -_V_i_o___c_t_o_r_2 │ │ │ │ │ -int Vio_ctor2(Vio *thee, const char *socktype, const char *datafrmt, const char │ │ │ │ │ -*hostname, const char *filename, const char *rwkey) │ │ │ │ │ -Work routine that Vio_ctor calls to do most of the construction. │ │ │ │ │ -_V_I_O___X_D_R │ │ │ │ │ -@ VIO_XDR │ │ │ │ │ -DDeeffiinniittiioonn vio.h:78 │ │ │ │ │ -_V_I_O___N_O___F_R_M_T │ │ │ │ │ -@ VIO_NO_FRMT │ │ │ │ │ -DDeeffiinniittiioonn vio.h:77 │ │ │ │ │ -_V_I_O___A_S_C │ │ │ │ │ -@ VIO_ASC │ │ │ │ │ -DDeeffiinniittiioonn vio.h:79 │ │ │ │ │ -_V_I_O___N_O___T_Y_P_E │ │ │ │ │ -@ VIO_NO_TYPE │ │ │ │ │ -DDeeffiinniittiioonn vio.h:63 │ │ │ │ │ -_V_I_O___F_I_L_E │ │ │ │ │ -@ VIO_FILE │ │ │ │ │ -DDeeffiinniittiioonn vio.h:66 │ │ │ │ │ -_V_I_O___U_N_I_X │ │ │ │ │ -@ VIO_UNIX │ │ │ │ │ -DDeeffiinniittiioonn vio.h:67 │ │ │ │ │ -_V_I_O___B_U_F_F │ │ │ │ │ -@ VIO_BUFF │ │ │ │ │ -DDeeffiinniittiioonn vio.h:65 │ │ │ │ │ -_V_I_O___S_D_I_O │ │ │ │ │ -@ VIO_SDIO │ │ │ │ │ -DDeeffiinniittiioonn vio.h:64 │ │ │ │ │ -_V_I_O___I_N_E_T │ │ │ │ │ -@ VIO_INET │ │ │ │ │ -DDeeffiinniittiioonn vio.h:68 │ │ │ │ │ -_V_I_O___N_O___R_W │ │ │ │ │ -@ VIO_NO_RW │ │ │ │ │ -DDeeffiinniittiioonn vio.h:88 │ │ │ │ │ -_V_I_O___W │ │ │ │ │ -@ VIO_W │ │ │ │ │ -DDeeffiinniittiioonn vio.h:90 │ │ │ │ │ -_V_I_O___R │ │ │ │ │ -@ VIO_R │ │ │ │ │ -DDeeffiinniittiioonn vio.h:89 │ │ │ │ │ -_s_V_i_o │ │ │ │ │ -Contains public data members for Vio class. │ │ │ │ │ -DDeeffiinniittiioonn vio.h:98 │ │ │ │ │ -_s_V_i_o_:_:_p_u_t_B_u_f_f_e_r │ │ │ │ │ -char putBuffer[VMAX_BUFSIZE] │ │ │ │ │ -DDeeffiinniittiioonn vio.h:137 │ │ │ │ │ -_s_V_i_o_:_:_t_y_p_e │ │ │ │ │ -VIOtype type │ │ │ │ │ -DDeeffiinniittiioonn vio.h:100 │ │ │ │ │ -_s_V_i_o_:_:_i_o_B_u_f_f_e_r_L_e_n │ │ │ │ │ -int ioBufferLen │ │ │ │ │ -DDeeffiinniittiioonn vio.h:135 │ │ │ │ │ -_s_V_i_o_:_:_r_w_k_e_y │ │ │ │ │ -VIOrwkey rwkey │ │ │ │ │ -DDeeffiinniittiioonn vio.h:113 │ │ │ │ │ -_s_V_i_o_:_:_c_o_m_m_C_h_a_r_s │ │ │ │ │ -char commChars[VMAX_ARGNUM] │ │ │ │ │ -DDeeffiinniittiioonn vio.h:132 │ │ │ │ │ -_s_V_i_o_:_:_V_I_O_b_u_f_f_e_r_P_t_r │ │ │ │ │ -int VIObufferPtr │ │ │ │ │ -DDeeffiinniittiioonn vio.h:142 │ │ │ │ │ -_s_V_i_o_:_:_f_p │ │ │ │ │ -FILE * fp │ │ │ │ │ -DDeeffiinniittiioonn vio.h:125 │ │ │ │ │ -_s_V_i_o_:_:_f_r_m_t │ │ │ │ │ -VIOfrmt frmt │ │ │ │ │ -DDeeffiinniittiioonn vio.h:108 │ │ │ │ │ -_s_V_i_o_:_:_d_i_r_t_y │ │ │ │ │ -int dirty │ │ │ │ │ -DDeeffiinniittiioonn vio.h:123 │ │ │ │ │ -_s_V_i_o_:_:_s_o_c │ │ │ │ │ -int soc │ │ │ │ │ -DDeeffiinniittiioonn vio.h:127 │ │ │ │ │ -_s_V_i_o_:_:_l_h_o_s_t │ │ │ │ │ -char lhost[VMAX_ARGLEN] │ │ │ │ │ -DDeeffiinniittiioonn vio.h:119 │ │ │ │ │ -_s_V_i_o_:_:_w_h_i_t_e_C_h_a_r_s │ │ │ │ │ -char whiteChars[VMAX_ARGNUM] │ │ │ │ │ -DDeeffiinniittiioonn vio.h:131 │ │ │ │ │ -_s_V_i_o_:_:_i_o_B_u_f_f_e_r │ │ │ │ │ -char ioBuffer[VMAX_BUFSIZE] │ │ │ │ │ -DDeeffiinniittiioonn vio.h:134 │ │ │ │ │ -_s_V_i_o_:_:_V_I_O_b_u_f_f_e_r_L_e_n │ │ │ │ │ -int VIObufferLen │ │ │ │ │ -DDeeffiinniittiioonn vio.h:141 │ │ │ │ │ -_s_V_i_o_:_:_f_i_l_e │ │ │ │ │ -char file[VMAX_ARGLEN] │ │ │ │ │ -DDeeffiinniittiioonn vio.h:118 │ │ │ │ │ -_s_V_i_o_:_:_n_a_m_e │ │ │ │ │ -void * name │ │ │ │ │ -DDeeffiinniittiioonn vio.h:128 │ │ │ │ │ -_s_V_i_o_:_:_a_x_d_r │ │ │ │ │ -void * axdr │ │ │ │ │ -DDeeffiinniittiioonn vio.h:129 │ │ │ │ │ -_s_V_i_o_:_:_V_I_O_b_u_f_f_e_r │ │ │ │ │ -char * VIObuffer │ │ │ │ │ -DDeeffiinniittiioonn vio.h:140 │ │ │ │ │ -_s_V_i_o_:_:_p_u_t_B_u_f_f_e_r_L_e_n │ │ │ │ │ -int putBufferLen │ │ │ │ │ -DDeeffiinniittiioonn vio.h:138 │ │ │ │ │ -_s_V_i_o_:_:_s_o │ │ │ │ │ -int so │ │ │ │ │ -DDeeffiinniittiioonn vio.h:126 │ │ │ │ │ -_s_V_i_o_:_:_r_h_o_s_t │ │ │ │ │ -char rhost[VMAX_ARGLEN] │ │ │ │ │ -DDeeffiinniittiioonn vio.h:120 │ │ │ │ │ -_s_V_i_o_:_:_e_r_r_o_r │ │ │ │ │ -int error │ │ │ │ │ -DDeeffiinniittiioonn vio.h:122 │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00033.dot.gz │ │ │ │ ├── a00033.dot │ │ │ │ │ @@ -1,14 +1,14 @@ │ │ │ │ │ -digraph "vio.h" │ │ │ │ │ +digraph "vsys.h" │ │ │ │ │ { │ │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ │ bgcolor="transparent"; │ │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ │ - Node1 [id="Node000001",label="vio.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node1 [id="Node000001",label="vsys.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node2 [id="Node000002",label="maloc/maloc_base.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00002.html",tooltip="The base (or foundation) header for MALOC."]; │ │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node3 [id="Node000003",label="assert.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node4 [id="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node4 [id="Node000004",label="ctype.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ @@ -36,8 +36,23 @@ │ │ │ │ │ Node2 -> Node16 [id="edge15_Node000002_Node000016",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 [id="Node000018",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node1 -> Node19 [id="edge19_Node000001_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node19 [id="Node000019",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node1 -> Node20 [id="edge21_Node000001_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node20 [id="Node000020",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node20 -> Node2 [id="edge22_Node000020_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node20 -> Node18 [id="edge23_Node000020_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node1 -> Node21 [id="edge24_Node000001_Node000021",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node21 [id="Node000021",label="maloc/vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ + Node21 -> Node2 [id="edge25_Node000021_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node21 -> Node18 [id="edge26_Node000021_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node21 -> Node19 [id="edge27_Node000021_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node1 -> Node22 [id="edge28_Node000001_Node000022",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ + Node22 [id="Node000022",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node22 -> Node2 [id="edge29_Node000022_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00034.dot │ │ │ │ @@ -1,28 +1,26 @@ │ │ │ │ -digraph "vio.h" │ │ │ │ +digraph "vsys.h" │ │ │ │ { │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ bgcolor="transparent"; │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ - Node1 [id="Node000001",label="vio.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ + Node1 [id="Node000001",label="vsys.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 [id="Node000002",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ - Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 [id="Node000003",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ - Node2 -> Node4 [id="edge3_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node4 [id="Node000004",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ - Node4 -> Node3 [id="edge4_Node000004_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 -> Node5 [id="edge5_Node000002_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node5 [id="Node000005",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ - Node5 -> Node6 [id="edge6_Node000005_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node6 [id="Node000006",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ - Node6 -> Node4 [id="edge7_Node000006_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 -> Node6 [id="edge8_Node000002_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 -> Node7 [id="edge9_Node000002_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node7 [id="Node000007",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ - Node7 -> Node6 [id="edge10_Node000007_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 -> Node8 [id="edge11_Node000002_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node8 [id="Node000008",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ - Node8 -> Node3 [id="edge12_Node000008_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node8 -> Node4 [id="edge13_Node000008_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node2 [id="Node000002",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ + Node1 -> Node3 [id="edge2_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node3 [id="Node000003",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ + Node3 -> Node2 [id="edge3_Node000003_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node1 -> Node4 [id="edge4_Node000001_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node4 [id="Node000004",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ + Node4 -> Node5 [id="edge5_Node000004_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node5 [id="Node000005",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ + Node5 -> Node3 [id="edge6_Node000005_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node1 -> Node5 [id="edge7_Node000001_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node1 -> Node6 [id="edge8_Node000001_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node6 [id="Node000006",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ + Node6 -> Node5 [id="edge9_Node000006_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node1 -> Node7 [id="edge10_Node000001_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node7 [id="Node000007",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ + Node7 -> Node2 [id="edge11_Node000007_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ + Node7 -> Node3 [id="edge12_Node000007_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00037.dot │ │ │ │ @@ -2,30 +2,30 @@ │ │ │ │ { │ │ │ │ // LATEX_PDF_SIZE │ │ │ │ bgcolor="transparent"; │ │ │ │ edge [fontname=FreeSans,fontsize=10,labelfontname=FreeSans,labelfontsize=10]; │ │ │ │ node [fontname=FreeSans,fontsize=10,shape=box,height=0.2,width=0.4]; │ │ │ │ Node1 [id="Node000001",label="vnm.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node2 [id="Node000002",label="vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ + Node2 [id="Node000002",label="vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node3 [id="Node000003",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ + Node3 [id="Node000003",label="vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ Node3 -> Node4 [id="edge3_Node000003_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node4 [id="Node000004",label="maloc.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00038.html",tooltip="The foundation header for MALOC."]; │ │ │ │ Node3 -> Node5 [id="edge4_Node000003_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node5 [id="Node000005",label="psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ Node5 -> Node4 [id="edge5_Node000005_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node3 -> Node6 [id="edge6_Node000003_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node6 [id="Node000006",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ + Node6 [id="Node000006",label="vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ Node6 -> Node7 [id="edge7_Node000006_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node7 [id="Node000007",label="vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ Node7 -> Node5 [id="edge8_Node000007_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node3 -> Node7 [id="edge9_Node000003_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node3 -> Node8 [id="edge10_Node000003_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ - Node8 [id="Node000008",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ + Node8 [id="Node000008",label="vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ Node8 -> Node7 [id="edge11_Node000008_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node3 -> Node9 [id="edge12_Node000003_Node000009",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node9 [id="Node000009",label="vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ Node9 -> Node4 [id="edge13_Node000009_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node9 -> Node5 [id="edge14_Node000009_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node1 -> Node10 [id="edge15_Node000001_Node000010",dir="back",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ Node10 [id="Node000010",label="vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00038.html │ │ │ │ @@ -47,15 +47,15 @@ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

The foundation header for MALOC.
│ │ │ │ │ │ │ │ More...

│ │ │ │
#include <maloc/maloc_base.h>
│ │ │ │ -#include <maloc/vsys.h>
│ │ │ │ +#include <maloc/vsys.h>
│ │ │ │ #include <maloc/vsh.h>
│ │ │ │ #include <maloc/psh.h>
│ │ │ │
│ │ │ │ Include dependency graph for maloc.h:
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00038_source.html │ │ │ │ @@ -53,24 +53,24 @@ │ │ │ │
│ │ │ │ Go to the documentation of this file.
1
│ │ │ │
35#ifndef _MALOC_H_
│ │ │ │
36#define _MALOC_H_
│ │ │ │
37
│ │ │ │
38#include <maloc/maloc_base.h>
│ │ │ │
39
│ │ │ │ -
40#include <maloc/vsys.h>
│ │ │ │ +
40#include <maloc/vsys.h>
│ │ │ │
41#include <maloc/vsh.h>
│ │ │ │
42#include <maloc/psh.h>
│ │ │ │
43
│ │ │ │
44#endif /* _MALOC_H_ */
│ │ │ │
45
│ │ │ │
The base (or foundation) header for MALOC.
│ │ │ │
Header file for a simple parallel extension of ALOC's VSH.
│ │ │ │
Header file for vsh, a bourne-compatible shell.
│ │ │ │ -
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │ +
The primary header for VSYS. (Virtual SYStem utilities library.)
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00039.dot.gz │ │ │ │ ├── a00039.dot │ │ │ │ │ @@ -34,33 +34,33 @@ │ │ │ │ │ Node2 -> Node15 [id="edge14_Node000002_Node000015",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node15 [id="Node000015",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node16 [id="edge15_Node000002_Node000016",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node16 [id="Node000016",label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node2 -> Node17 [id="edge16_Node000002_Node000017",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node17 [id="Node000017",label="setjmp.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; │ │ │ │ │ Node1 -> Node18 [id="edge17_Node000001_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ + Node18 [id="Node000018",label="maloc/vsys.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="The primary header for VSYS. (Virtual SYStem utilities library.)"]; │ │ │ │ │ Node18 -> Node2 [id="edge18_Node000018_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node19 [id="edge19_Node000018_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node19 [id="Node000019",label="maloc/vnm.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00035.html",tooltip="Header file for an ISO C [V]irtual [N]umerical [M]achine."]; │ │ │ │ │ Node19 -> Node2 [id="edge20_Node000019_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node20 [id="edge21_Node000018_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ + Node20 [id="Node000020",label="maloc/vmem.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Class Vmem: A safer, object-oriented, malloc/free object."]; │ │ │ │ │ Node20 -> Node2 [id="edge22_Node000020_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node21 [id="edge23_Node000018_Node000021",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00032.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ + Node21 [id="Node000021",label="maloc/vio.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00023.html",tooltip="Class Vio: virtual I/O layer."]; │ │ │ │ │ Node21 -> Node2 [id="edge24_Node000021_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node21 -> Node19 [id="edge25_Node000021_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node22 [id="edge26_Node000018_Node000022",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 [id="Node000022",label="maloc/vset.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00020.html",tooltip="Class Vset: a dynamic set object."]; │ │ │ │ │ Node22 -> Node2 [id="edge27_Node000022_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node19 [id="edge28_Node000022_Node000019",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node22 -> Node20 [id="edge29_Node000022_Node000020",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node18 -> Node23 [id="edge30_Node000018_Node000023",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00029.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ + Node23 [id="Node000023",label="maloc/vpred.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00026.html",tooltip="Header file for the Geometric Predicates."]; │ │ │ │ │ Node23 -> Node2 [id="edge31_Node000023_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node24 [id="edge32_Node000001_Node000024",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node24 [id="Node000024",label="maloc/vsh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00017.html",tooltip="Header file for vsh, a bourne-compatible shell."]; │ │ │ │ │ Node24 -> Node2 [id="edge33_Node000024_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node24 -> Node18 [id="edge34_Node000024_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node1 -> Node25 [id="edge35_Node000001_Node000025",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node25 [id="Node000025",label="maloc/psh.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00014.html",tooltip="Header file for a simple parallel extension of ALOC's VSH."]; │ │ │ │ │ @@ -68,15 +68,15 @@ │ │ │ │ │ Node25 -> Node18 [id="edge37_Node000025_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node25 -> Node24 [id="edge38_Node000025_Node000024",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node25 -> Node26 [id="edge39_Node000025_Node000026",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node26 [id="Node000026",label="maloc/vmp.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00011.html",tooltip="Class Vmp: a Virtual MPI communication layer object."]; │ │ │ │ │ Node26 -> Node2 [id="edge40_Node000026_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node26 -> Node18 [id="edge41_Node000026_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node26 -> Node27 [id="edge42_Node000026_Node000027",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node27 [id="Node000027",label="maloc/vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ + Node27 [id="Node000027",label="maloc/vmpi.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vmpi: a Virtual MPI communication layer object."]; │ │ │ │ │ Node27 -> Node2 [id="edge43_Node000027_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node27 -> Node18 [id="edge44_Node000027_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node26 -> Node28 [id="edge45_Node000026_Node000028",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ - Node28 [id="Node000028",label="maloc/vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00005.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ + Node28 [id="Node000028",label="maloc/vcom.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00008.html",tooltip="Class Vcom: virtual (currently just MPI) communications layer."]; │ │ │ │ │ Node28 -> Node2 [id="edge46_Node000028_Node000002",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ Node28 -> Node18 [id="edge47_Node000028_Node000018",color="steelblue1",style="solid",tooltip=" "]; │ │ │ │ │ } │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00047.html │ │ │ │ @@ -49,16 +49,16 @@ │ │ │ │ More...

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │

│ │ │ │ Files

file  maloc_base.h
 The base (or foundation) header for MALOC.
 
file  vsys.h
 The primary header for VSYS. (Virtual SYStem utilities library.)
file  vsys.h
 The primary header for VSYS. (Virtual SYStem utilities library.)
 
file  maloc.h
 The foundation header for MALOC.
│ │ │ │
 
│ │ │ │

Detailed Description

│ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00048.html │ │ │ │ @@ -49,16 +49,16 @@ │ │ │ │
│ │ │ │ │ │ │ │

Virtual (currently just MPI) communications layer. │ │ │ │ More...

│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │

│ │ │ │ Files

file  vcom.h
 Class Vcom: virtual (currently just MPI) communications layer.
file  vcom.h
 Class Vcom: virtual (currently just MPI) communications layer.
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00050.html │ │ │ │ @@ -49,16 +49,16 @@ │ │ │ │
│ │ │ │ │ │ │ │

A Virtual MPI communication lawyer object. │ │ │ │ More...

│ │ │ │

│ │ │ │ Classes

struct  sVcom
 Contains public data members for Vcom class. More...
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │

│ │ │ │ Files

file  vmpi.h
 Class Vmpi: a Virtual MPI communication layer object.
file  vmpi.h
 Class Vmpi: a Virtual MPI communication layer object.
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00052.html │ │ │ │ @@ -50,16 +50,16 @@ │ │ │ │
│ │ │ │ │ │ │ │

This class provides an I/O layer for files/bufferes/pipes/sockets. │ │ │ │ More...

│ │ │ │

│ │ │ │ Classes

struct  sVmpi
 Class Vmpi: Definition. More...
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │

│ │ │ │ Files

file  vio.h
 Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer.
file  vio.h
 Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer.
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00053.html │ │ │ │ @@ -49,16 +49,16 @@ │ │ │ │
│ │ │ │ │ │ │ │

This class provides a safe logged version of malloc and free. │ │ │ │ More...

│ │ │ │

│ │ │ │ Classes

struct  sVio
 Contains public data members for Vio class. More...
 
│ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │

│ │ │ │ Files

file  vmem.h
 Class Vmem: A safer, object-oriented, malloc/free object.
file  vmem.h
 Class Vmem: A safer, object-oriented, malloc/free object.
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00058.html │ │ │ │ @@ -45,15 +45,15 @@ │ │ │ │
sVcom Struct Reference
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Contains public data members for Vcom class. │ │ │ │ More...

│ │ │ │ │ │ │ │ -

#include <vcom.h>

│ │ │ │ +

#include <vcom.h>

│ │ │ │

│ │ │ │ Classes

struct  sVmem
 Contains public data members for Vmem class. More...
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -155,15 +155,15 @@ │ │ │ │

Communication type.
│ │ │ │ 0 = not initialized
│ │ │ │ 1 = Message Passing Interface 1.1.

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
The documentation for this struct was generated from the following file:
    │ │ │ │ -
  • vcom.h
  • │ │ │ │ +
  • vcom.h
  • │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00066.html │ │ │ │ @@ -45,15 +45,15 @@ │ │ │ │
sVmpi Struct Reference
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Class Vmpi: Definition. │ │ │ │ More...

│ │ │ │ │ │ │ │ -

#include <vmpi.h>

│ │ │ │ +

#include <vmpi.h>

│ │ │ │

│ │ │ │ Public Attributes

int mpi_rank
 Local PE rank from MPI.
 
int mpi_size
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -91,15 +91,15 @@ │ │ │ │
│ │ │ │

number of processess in this execution
│ │ │ │

│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
The documentation for this struct was generated from the following file:
    │ │ │ │ -
  • vmpi.h
  • │ │ │ │ +
  • vmpi.h
  • │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00074.html │ │ │ │ @@ -45,15 +45,15 @@ │ │ │ │
sVio Struct Reference
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Contains public data members for Vio class. │ │ │ │ More...

│ │ │ │ │ │ │ │ -

#include <vio.h>

│ │ │ │ +

#include <vio.h>

│ │ │ │

│ │ │ │ Public Attributes

int mpi_rank
 
int mpi_size
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -450,15 +450,15 @@ │ │ │ │
│ │ │ │

white space character set (ASC)
│ │ │ │

│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
The documentation for this struct was generated from the following file:
    │ │ │ │ -
  • vio.h
  • │ │ │ │ +
  • vio.h
  • │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/a00078.html │ │ │ │ @@ -45,15 +45,15 @@ │ │ │ │
sVmem Struct Reference
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Contains public data members for Vmem class. │ │ │ │ More...

│ │ │ │ │ │ │ │ -

#include <vmem.h>

│ │ │ │ +

#include <vmem.h>

│ │ │ │

│ │ │ │ Public Attributes

VIOtype type
 
VIOfrmt frmt
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -144,15 +144,15 @@ │ │ │ │
│ │ │ │

name of class we manage malloc areas for
│ │ │ │

│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
The documentation for this struct was generated from the following file:
    │ │ │ │ -
  • vmem.h
  • │ │ │ │ +
  • vmem.h
  • │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000000_000010.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

aaa_inc → vsys Relation

│ │ │ │ Public Attributes

char name [VMAX_ARGLEN]
 
size_t mallocBytes
 
File in src/aaa_incIncludes file in src/vsys
maloc / maloc.hmaloc / vsys.h
│ │ │ │ +

aaa_inc → vsys Relation

File in src/aaa_incIncludes file in src/vsys
maloc / maloc.hmaloc / vsys.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000002_000010.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -

maloc → vsys Relation

File in src/aaa_inc/malocIncludes file in src/vsys
maloc.hmaloc / vsys.h
│ │ │ │ +

maloc → vsys Relation

File in src/aaa_inc/malocIncludes file in src/vsys
maloc.hmaloc / vsys.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000004_000001.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

maloc → base Relation

File in src/psh/malocIncludes file in src/base
psh.hmaloc / maloc_base.h
vcom.hmaloc / maloc_base.h
vmp.hmaloc / maloc_base.h
vmpi.hmaloc / maloc_base.h
│ │ │ │ +

maloc → base Relation

File in src/psh/malocIncludes file in src/base
psh.hmaloc / maloc_base.h
vcom.hmaloc / maloc_base.h
vmp.hmaloc / maloc_base.h
vmpi.hmaloc / maloc_base.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000004_000010.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

maloc → vsys Relation

File in src/psh/malocIncludes file in src/vsys
psh.hmaloc / vsys.h
vcom.hmaloc / vsys.h
vmp.hmaloc / vsys.h
vmpi.hmaloc / vsys.h
│ │ │ │ +

maloc → vsys Relation

File in src/psh/malocIncludes file in src/vsys
psh.hmaloc / vsys.h
vcom.hmaloc / vsys.h
vmp.hmaloc / vsys.h
vmpi.hmaloc / vsys.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000005_000010.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

maloc → vsys Relation

File in src/vsh/malocIncludes file in src/vsys
vsh.hmaloc / vsys.h
│ │ │ │ +

maloc → vsys Relation

File in src/vsh/malocIncludes file in src/vsys
vsh.hmaloc / vsys.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000006_000001.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

maloc → base Relation

File in src/vsys/malocIncludes file in src/base
vio.hmaloc / maloc_base.h
vmem.hmaloc / maloc_base.h
vnm.hmaloc / maloc_base.h
vpred.hmaloc / maloc_base.h
vset.hmaloc / maloc_base.h
vsys.hmaloc / maloc_base.h
│ │ │ │ +

maloc → base Relation

File in src/vsys/malocIncludes file in src/base
vio.hmaloc / maloc_base.h
vmem.hmaloc / maloc_base.h
vnm.hmaloc / maloc_base.h
vpred.hmaloc / maloc_base.h
vset.hmaloc / maloc_base.h
vsys.hmaloc / maloc_base.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000007_000001.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

psh → base Relation

File in src/pshIncludes file in src/base
maloc / psh.hmaloc / maloc_base.h
maloc / vcom.hmaloc / maloc_base.h
maloc / vmp.hmaloc / maloc_base.h
maloc / vmpi.hmaloc / maloc_base.h
│ │ │ │ +

psh → base Relation

File in src/pshIncludes file in src/base
maloc / psh.hmaloc / maloc_base.h
maloc / vcom.hmaloc / maloc_base.h
maloc / vmp.hmaloc / maloc_base.h
maloc / vmpi.hmaloc / maloc_base.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000007_000010.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

psh → vsys Relation

File in src/pshIncludes file in src/vsys
maloc / psh.hmaloc / vsys.h
maloc / vcom.hmaloc / vsys.h
maloc / vmp.hmaloc / vsys.h
maloc / vmpi.hmaloc / vsys.h
│ │ │ │ +

psh → vsys Relation

File in src/pshIncludes file in src/vsys
maloc / psh.hmaloc / vsys.h
maloc / vcom.hmaloc / vsys.h
maloc / vmp.hmaloc / vsys.h
maloc / vmpi.hmaloc / vsys.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000009_000010.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

vsh → vsys Relation

File in src/vshIncludes file in src/vsys
maloc / vsh.hmaloc / vsys.h
│ │ │ │ +

vsh → vsys Relation

File in src/vshIncludes file in src/vsys
maloc / vsh.hmaloc / vsys.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_000010_000001.html │ │ │ │ @@ -39,14 +39,14 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -

vsys → base Relation

File in src/vsysIncludes file in src/base
maloc / vio.hmaloc / maloc_base.h
maloc / vmem.hmaloc / maloc_base.h
maloc / vnm.hmaloc / maloc_base.h
maloc / vpred.hmaloc / maloc_base.h
maloc / vset.hmaloc / maloc_base.h
maloc / vsys.hmaloc / maloc_base.h
│ │ │ │ +

vsys → base Relation

File in src/vsysIncludes file in src/base
maloc / vio.hmaloc / maloc_base.h
maloc / vmem.hmaloc / maloc_base.h
maloc / vnm.hmaloc / maloc_base.h
maloc / vpred.hmaloc / maloc_base.h
maloc / vset.hmaloc / maloc_base.h
maloc / vsys.hmaloc / maloc_base.h
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_4487082feb20b0a33d872f1cd04ae7e1.html │ │ │ │ @@ -53,22 +53,22 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │

│ │ │ │ Files

 psh.h
 Header file for a simple parallel extension of ALOC's VSH.
 
 vcom.h
 Class Vcom: virtual (currently just MPI) communications layer.
 vcom.h
 Class Vcom: virtual (currently just MPI) communications layer.
 
 vmp.h
 Class Vmp: a Virtual MPI communication layer object.
 
 vmpi.h
 Class Vmpi: a Virtual MPI communication layer object.
 vmpi.h
 Class Vmpi: a Virtual MPI communication layer object.
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/dir_dd09f1089953cfb53b7653deda4818f6.html │ │ │ │ @@ -50,31 +50,31 @@ │ │ │ │ Directory dependency graph for maloc: │ │ │ │
│ │ │ │
maloc
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │

│ │ │ │ Files

 vio.h
 Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer.
 vio.h
 Class Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer.
 
 vmem.h
 Class Vmem: A safer, object-oriented, malloc/free object.
 vmem.h
 Class Vmem: A safer, object-oriented, malloc/free object.
 
 vnm.h
 Header file for an ISO C [V]irtual [N]umerical [M]achine.
 
 vpred.h
 Header file for the Geometric Predicates.
 vpred.h
 Header file for the Geometric Predicates.
 
 vset.h
 Class Vset: a dynamic set object.
 
 vsys.h
 The primary header for VSYS. (Virtual SYStem utilities library.)
 vsys.h
 The primary header for VSYS. (Virtual SYStem utilities library.)
 
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libmaloc-dev/html/files.html │ │ │ │ @@ -51,28 +51,28 @@ │ │ │ │ │ │ │ │   base │ │ │ │   maloc │ │ │ │  maloc_base.hThe base (or foundation) header for MALOC │ │ │ │   psh │ │ │ │   maloc │ │ │ │  psh.hHeader file for a simple parallel extension of ALOC's VSH │ │ │ │ - vcom.hClass Vcom: virtual (currently just MPI) communications layer │ │ │ │ + vcom.hClass Vcom: virtual (currently just MPI) communications layer │ │ │ │  vmp.hClass Vmp: a Virtual MPI communication layer object │ │ │ │ - vmpi.hClass Vmpi: a Virtual MPI communication layer object │ │ │ │ + vmpi.hClass Vmpi: a Virtual MPI communication layer object │ │ │ │   vsh │ │ │ │   maloc │ │ │ │  vsh.hHeader file for vsh, a bourne-compatible shell │ │ │ │   vsys │ │ │ │   maloc │ │ │ │ - vio.hClass Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer │ │ │ │ - vmem.hClass Vmem: A safer, object-oriented, malloc/free object │ │ │ │ + vio.hClass Vio: virtual <SDIO/FILE/BUFF/UNIX/INET> I/O layer │ │ │ │ + vmem.hClass Vmem: A safer, object-oriented, malloc/free object │ │ │ │  vnm.hHeader file for an ISO C [V]irtual [N]umerical [M]achine │ │ │ │ - vpred.hHeader file for the Geometric Predicates │ │ │ │ + vpred.hHeader file for the Geometric Predicates │ │ │ │  vset.hClass Vset: a dynamic set object │ │ │ │ - vsys.hThe primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │ + vsys.hThe primary header for VSYS. (Virtual SYStem utilities library.) │ │ │ │  prog.h │ │ │ │  license.h │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │