Compare commits
311 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b1aa655b22 | |||
| efb1e39233 | |||
| 5b611ab155 | |||
| 66449ee44d | |||
| d368a60202 | |||
| 6b4b556ff1 | |||
| 0857443617 | |||
| e3b93e4383 | |||
| 3e99a8ccfa | |||
| bb41cc3288 | |||
| cf1368291d | |||
| 698b5e0c76 | |||
| ea40b3272e | |||
| 90f8506628 | |||
| a7727635a7 | |||
| 66476adf6a | |||
| 1c4c62192d | |||
| fb660f8459 | |||
| 20bff7f87c | |||
| 64c2b96f27 | |||
| 1d23bdab85 | |||
| 0de2f00b08 | |||
| 3300a665b5 | |||
| f671d1ab9f | |||
| ec7184bf2d | |||
| 46574c2482 | |||
| 2bb96c6f69 | |||
| 181c03008f | |||
| 7c4126c2c8 | |||
| 90c6032c34 | |||
| f40afd9670 | |||
| c8b49c520f | |||
| a65e9586c5 | |||
| 3c6065e2f9 | |||
| c3cd4d7c99 | |||
| fdd69338ea | |||
| 5d4d62f5c2 | |||
| 195d58693a | |||
| d149d8a5dd | |||
| 8dac86872b | |||
| 15ad7b21c5 | |||
| 1b8073b82b | |||
| 06aef8a08f | |||
| 57ce44db8b | |||
| 1104b9ff93 | |||
| 01aa167339 | |||
| cd0391db7e | |||
| 207e49716c | |||
| 97a14cc488 | |||
| 13d7784c44 | |||
| 00b0e87f10 | |||
| 6d38bf442d | |||
| 3d4da8653a | |||
| 0e853656cd | |||
| 3d1ed0e92a | |||
| b5e3756f57 | |||
| 122e913f08 | |||
| a2d2a02cd2 | |||
| 249117c89e | |||
| 463ef08da9 | |||
| 607d1e86ab | |||
| 3ebc9de7a9 | |||
| d8ce890902 | |||
| b191ac7a6a | |||
| 356f7149c5 | |||
| a0dd21b79e | |||
| 08ce0ee46a | |||
| 7085e22448 | |||
| 74a31f9b8f | |||
| a38a56865f | |||
| 1a20e25a84 | |||
| 43ff5d2ca0 | |||
| 8080f5e2e5 | |||
| 4f870ccbf7 | |||
| e6364c637d | |||
| 28c0ac78ad | |||
| a642074d85 | |||
| e962caf1b9 | |||
| 8cad5e3aea | |||
| a2dfad7b69 | |||
| 15c2e1260a | |||
| 655511a02a | |||
| 0231ece31b | |||
| b64ddd03d1 | |||
| 853837477e | |||
| 4956504d17 | |||
| e4c8f743ae | |||
| df627138dc | |||
| a4e77a138a | |||
| 9a09f11631 | |||
| 783a1ce2b5 | |||
| c43f785ab0 | |||
| e1a18b62e2 | |||
| 3ae60f8e46 | |||
| 949505517c | |||
| ae9fd98dac | |||
| 70bc6af59f | |||
| 825322c576 | |||
| 58bd753fad | |||
| 904e609377 | |||
| d1b594a788 | |||
| 3bafbc6029 | |||
| 8d760dc264 | |||
| 4546846f06 | |||
| 62c46dc8bf | |||
| 9516e493bc | |||
| 9df1d56714 | |||
| 98e1055b7b | |||
| 436cce16c7 | |||
| ec6f30bbd8 | |||
| d356142bc4 | |||
| 00c9b0804b | |||
| 172ceff05a | |||
| 030985c9a4 | |||
| 359b699464 | |||
| 6e1ce25417 | |||
| 4144c2b696 | |||
| bad33a75d2 | |||
| 7240f26378 | |||
| b9d82c2fda | |||
| 1bdd5268ed | |||
| 92e057e4cf | |||
| aa72af797b | |||
| 9974b6b44c | |||
| 82c594c17d | |||
| c96b859f88 | |||
| d580292235 | |||
| 4dd379ff2f | |||
| e13c4e8d8d | |||
| 4d0ffd58df | |||
| b105b19d4d | |||
| f0d51def4e | |||
| 5325a7a24f | |||
| 9c6d4e48a3 | |||
| 150f623c03 | |||
| 14536c6d84 | |||
| 94779f185f | |||
| 07ff9e52ef | |||
| 4de6c55220 | |||
| e21e1bf4f4 | |||
| 42e023ea71 | |||
| 7a7a90b5df | |||
| cf40adf301 | |||
| cc383bff11 | |||
| 712bbf30b2 | |||
| 1b55e6c536 | |||
| 615cbf3bbd | |||
| a5e5d3f2a8 | |||
| 4d2b43576f | |||
| bcf06f51b1 | |||
| f065eccdc4 | |||
| 49df069686 | |||
| 6ad99f01cd | |||
| 67ffffae9d | |||
| ddd7c0f0bd | |||
| bef930c76b | |||
| 78add071f1 | |||
| c7e88d59af | |||
| cb9ba14d80 | |||
| 791a9be790 | |||
| ac632c5ed4 | |||
| 146d0cd28d | |||
| 415c037076 | |||
| 3653baecd0 | |||
| 2e6ec2fe01 | |||
| cab19eece1 | |||
| 5b50d9b362 | |||
| 6c4c222f4d | |||
| e76b2ed356 | |||
| b64f8ad80e | |||
| de7c07e47f | |||
| 1b10ffe18b | |||
| 489110ba92 | |||
| 2c4d12b36c | |||
| dbdb76fff7 | |||
| 634ed00d24 | |||
| ac6f828fbc | |||
| 14f0702eee | |||
| e4c712e067 | |||
| 9e6208836e | |||
| c43e918ddc | |||
| 353689b4eb | |||
| bf22238a3e | |||
| 9c73b23b48 | |||
| 9c3040e429 | |||
| 4f96e94098 | |||
| 84cc3c7a19 | |||
| 56f13c3b68 | |||
| 70d1a26d4c | |||
| 980a192922 | |||
| bef9820f71 | |||
| 6e32226992 | |||
| 1d011f5482 | |||
| 0b151cd0aa | |||
| e560303db3 | |||
| 591a37855d | |||
| 8cedb2d7f5 | |||
| df20b6e0ea | |||
| 6f34b0a4c5 | |||
| 43000dabe1 | |||
| 40a9898f92 | |||
| 5bd504becf | |||
| 9a16c66724 | |||
| 83f931607b | |||
| ad79b097d2 | |||
| 24a080298d | |||
| 0e2cc3ec8c | |||
| bb7f1c5f38 | |||
| bb15e96150 | |||
| 2217b10b01 | |||
| b66e4587f5 | |||
| 06530aff19 | |||
| 7f2cb8bcaf | |||
| 49022b6838 | |||
| 1b15551170 | |||
| 09fc6fd570 | |||
| db0a1bd448 | |||
| 921746273d | |||
| 990a359f14 | |||
| b3da7610f1 | |||
| 9e9f2fdb9a | |||
| cf14e818db | |||
| cdf1ce5e9d | |||
| 0ca05f63a0 | |||
| cb4bceb4bb | |||
| c40ae0bb4e | |||
| 90c2a260c2 | |||
| 4f423dbdda | |||
| 624edd3be3 | |||
| f698ae762e | |||
| 782d67c1a0 | |||
| 51560ad3fa | |||
| e35679ba56 | |||
| f45fb3f465 | |||
| 5425ae0847 | |||
| 15abcafd84 | |||
| 4c4cdc9a2f | |||
| 8f31d8ddd5 | |||
| 011128ef54 | |||
| 333332537c | |||
| 65470f307b | |||
| 9647274842 | |||
| 76549133c4 | |||
| bf9793e18a | |||
| 523c2ae212 | |||
| c892a7c748 | |||
| 54313b4882 | |||
| e6b3c12e77 | |||
| cc9487757b | |||
| b795b592cb | |||
| 26eb035ef8 | |||
| 3c15cdf0c1 | |||
| a205c9a93c | |||
| 82c7f77e26 | |||
| a4dd08d021 | |||
| 71eb102a30 | |||
| 8aa2732876 | |||
| b5c98e495b | |||
| 1440cd28a7 | |||
| 1dba6fb877 | |||
| df8c5280c0 | |||
| 9e6fc708f6 | |||
| 600f887609 | |||
| 79f6d8e19c | |||
| e893b8e448 | |||
| 1a623f0e81 | |||
| 4d7653f2bd | |||
| 307aecaec9 | |||
| 06b04a75fb | |||
| 13bbd58004 | |||
| 792ae9a597 | |||
| 5d9b13e15e | |||
| b998848ed2 | |||
| 6e14b0aeab | |||
| 8a9cdf320c | |||
| 8e328d1dc5 | |||
| c3f8c3e70e | |||
| 13660dea05 | |||
| 8608d1e63f | |||
| 837c329840 | |||
| ec71b9eaa6 | |||
| 27dc5819f2 | |||
| 6e3b010eff | |||
| c0216d2da7 | |||
| acccf9b457 | |||
| bc0499e859 | |||
| f8f384dcc2 | |||
| 6008f5579e | |||
| aa487aa4be | |||
| 8d76d9d9bd | |||
| ab9ee7406b | |||
| 814a9a86e7 | |||
| 8948598fab | |||
| dddeaeba27 | |||
| 53f286b421 | |||
| 0975564af3 | |||
| 29efcefae3 | |||
| 3873af56a0 | |||
| dd75b5da79 | |||
| 7112492fe8 | |||
| 77b1b40ea9 | |||
| 4f35ba1356 | |||
| 3dff13c491 | |||
| 18c2c89cd5 | |||
| 1f6d43b25d | |||
| 1b2e7a1f75 | |||
| e962e9d778 | |||
| 1df562f90c | |||
| 6c1ce219d1 | |||
| c039ee7322 | |||
| 41511462f9 |
@@ -2,632 +2,94 @@
|
|||||||
/AUTHORS -text
|
/AUTHORS -text
|
||||||
/COPYING -text
|
/COPYING -text
|
||||||
/ChangeLog -text
|
/ChangeLog -text
|
||||||
|
/GNUmakefile.orig -text
|
||||||
|
/INSTALL -text
|
||||||
/Makefile.am -text
|
/Makefile.am -text
|
||||||
|
/Makefile.orig -text
|
||||||
/NEWS -text
|
/NEWS -text
|
||||||
/README -text
|
/README -text
|
||||||
/autogen.sh -text
|
/autogen.sh -text
|
||||||
|
/config.guess -text
|
||||||
|
/config.sub -text
|
||||||
|
/configure-crayxt -text
|
||||||
/configure.ac -text
|
/configure.ac -text
|
||||||
|
/depcomp -text
|
||||||
doc/Doxyfile -text
|
doc/Doxyfile -text
|
||||||
doc/DoxygenLayout.xml -text
|
|
||||||
doc/Examples/meshexample.dxf -text
|
|
||||||
doc/Examples/meshexample.txt -text
|
|
||||||
doc/Examples/simple_tet.vtk -text
|
|
||||||
doc/Examples/simple_tet_level0.vtk -text
|
|
||||||
doc/Examples/simple_tet_level1.vtk -text
|
|
||||||
doc/Examples/simple_tet_level2.vtk -text
|
|
||||||
doc/Examples/trimesh_dgraph_level0.metis -text
|
|
||||||
doc/Examples/trimesh_dgraph_level0.metis.part.2 -text
|
|
||||||
doc/Examples/trimesh_dgraph_level0.metis.part.3 -text
|
|
||||||
doc/Examples/trimesh_dnode_level1.metis -text
|
|
||||||
doc/Examples/trimesh_dnode_level1.metis.part.2 -text
|
|
||||||
doc/Examples/trimesh_level0.metis -text
|
|
||||||
doc/Examples/trimesh_level0.metis.epart.2 -text
|
|
||||||
doc/Examples/trimesh_level0.metis.ngraph -text
|
|
||||||
doc/Examples/trimesh_level0.metis.npart.2 -text
|
|
||||||
doc/Examples/trimesh_level1.metis -text
|
|
||||||
doc/Examples/trimesh_level1.metis.part.2 -text
|
|
||||||
doc/H5.dox -text
|
|
||||||
doc/H5X_File_Format.txt -text
|
doc/H5X_File_Format.txt -text
|
||||||
doc/Makefile.am -text
|
doc/Makefile.am -text
|
||||||
doc/TracFooter.html -text
|
|
||||||
doc/TracHeader.html -text
|
|
||||||
doc/doxyfooter -text
|
doc/doxyfooter -text
|
||||||
doc/doxyheader -text
|
examples/core_vfd.c -text
|
||||||
doc/html2twiki -text
|
examples/fields.c -text
|
||||||
doc/meshexample.dxf -text
|
examples/particles.c -text
|
||||||
doc/postprocess.py -text
|
examples/simplef.F90 -text
|
||||||
doc/tetrahedron_refinements/1-edge/edge_01_refined/01.png -text
|
examples/stridedf.F90 -text
|
||||||
doc/tetrahedron_refinements/1-edge/edge_01_refined/01.pvsm -text
|
examples/write_setview.c -text
|
||||||
doc/tetrahedron_refinements/1-edge/edge_01_refined/01.txt -text
|
/install-sh -text
|
||||||
doc/tetrahedron_refinements/1-edge/edge_01_refined/01.vtk -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_01_refined/01_smal.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_01_refined/01_small.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_12_refined/12.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_12_refined/12.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_12_refined/12.txt -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_12_refined/12.vtk -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_12_refined/12_small.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_20_refined/20.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_20_refined/20.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_20_refined/20.txt -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_20_refined/20.vtk -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_20_refined/20_small.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_23_refined/23.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_23_refined/23.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_23_refined/23.txt -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_23_refined/23.vtk -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_23_refined/23_small.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_30_refined/30.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_30_refined/30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_30_refined/30.txt -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_30_refined/30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_30_refined/30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_31_refined/31.png -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_31_refined/31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_31_refined/31.txt -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_31_refined/31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/1-edge/edge_31_refined/31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12_smal.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-12_refined/01-12_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-20_refined/01-20_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23_smal.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-23_refined/01-23_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-30_refined/01-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_01-31_refined/01-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-20_refined/12-20_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-23_refined/12-23_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-30_refined/12-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_12-31_refined/12-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-23_refined/20-23_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-30_refined/20-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_20-31_refined/20-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-30_refined/23-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_23-31_refined/23-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/2-edges/edge_30-31_refined/30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-20_refined/01-12-20_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-23_refined/01-12-23_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-30_refined/01-12-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-12-31_refined/01-12-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-23_refined/01-20-23_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-30_refined/01-20-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-20-31_refined/01-20-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-30_refined/01-23-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-23-31_refined/01-23-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_01-30-31_refined/01-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-23_refined/12-20-23_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-30_refined/12-20-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-20-31_refined/12-20-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-30_refined/12-23-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-23-31_refined/12-23-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_12-30-31_refined/12-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-30_refined/20-23-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-23-31_refined/20-23-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_20-30-31_refined/20-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/3-edges/edge_23-30-31_refined/23-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-23_refined/01-12-20-23_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-30_refined/01-12-20-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-20-31_refined/01-12-20-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-30_refined/01-12-23-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-23-31_refined/01-12-23-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-12-30-31_refined/01-12-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-30_refined/01-20-23-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-23-31_refined/01-20-23-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-20-30-31_refined/01-20-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_01-23-30-31_refined/01-23-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-30_refined/12-20-23-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-23-31_refined/12-20-23-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-20-30-31_refined/12-20-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_12-23-30-31_refined/12-23-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/4-edges/edge_20-23-30-31_refined/20-23-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30.txt -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30.vtk -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-30_refined/01-12-20-23-30_small.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-23-31_refined/01-12-20-23-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-20-30-31_refined/01-12-20-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-12-23-30-31_refined/01-12-23-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_01-20-23-30-31_refined/01-20-23-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/5-edges/edge_12-20-23-30-31_refined/12-20-23-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.aux -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.log -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.pdf -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.png -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.pvsm -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.tex -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.tex.orig -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.txt -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31.vtk -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/01-12-20-23-30-31_small.png -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/buildlatex.bash -text
|
|
||||||
doc/tetrahedron_refinements/6-edges/edge_01-12-20-23-30-31_refined/output_file.jpg -text
|
|
||||||
doc/tetrahedron_refinements/README -text
|
|
||||||
doc/tetrahedron_refinements/text2vtk.py -text
|
|
||||||
examples/H5/Makefile.am -text
|
|
||||||
examples/H5/attach_file.c -text
|
|
||||||
examples/H5/file_attribs.c -text
|
|
||||||
examples/H5/openclose.c -text
|
|
||||||
examples/H5Block/H5BlockExample.pbs -text
|
|
||||||
examples/H5Block/H5BlockExampleF.f90 -text
|
|
||||||
examples/H5Block/Makefile.am -text
|
|
||||||
examples/H5Block/README -text
|
|
||||||
examples/H5Block/fields.c -text
|
|
||||||
examples/H5Block/read_write.c -text
|
|
||||||
examples/H5Fed/Makefile.am -text
|
|
||||||
examples/H5Fed/map_tet2globalid.c -text
|
|
||||||
examples/H5Fed/map_triangle2globalid.c -text
|
|
||||||
examples/H5Fed/tetmesh_adjacencies.c -text
|
|
||||||
examples/H5Fed/tetmesh_read.c -text
|
|
||||||
examples/H5Fed/tetmesh_read_tags.c -text
|
|
||||||
examples/H5Fed/tetmesh_write.c -text
|
|
||||||
examples/H5Fed/tetmesh_write1.c -text
|
|
||||||
examples/H5Fed/tetmesh_write2.c -text
|
|
||||||
examples/H5Fed/tetmesh_write_tags.c -text
|
|
||||||
examples/H5Fed/trimesh_2gnuplot.c -text
|
|
||||||
examples/H5Fed/trimesh_adjacencies.c -text
|
|
||||||
examples/H5Fed/trimesh_read.c -text
|
|
||||||
examples/H5Fed/trimesh_write.c -text
|
|
||||||
examples/H5Fed/trimesh_write_dunetest.c -text
|
|
||||||
examples/H5Fed/write_boundary.c -text
|
|
||||||
examples/H5Part/Bench.c -text
|
|
||||||
examples/H5Part/H5test.c -text
|
|
||||||
examples/H5Part/H5testF.f90 -text
|
|
||||||
examples/H5Part/Makefile.am -text
|
|
||||||
examples/H5Part/core_vfd.c -text
|
|
||||||
examples/H5Part/particles.c -text
|
|
||||||
examples/H5Part/read_canonicalview.c -text
|
|
||||||
examples/H5Part/simplef.f90 -text
|
|
||||||
examples/H5Part/stridedf.f90 -text
|
|
||||||
examples/H5Part/write_setnumparticles.c -text
|
|
||||||
examples/H5Part/write_setview.c -text
|
|
||||||
/license.txt -text
|
/license.txt -text
|
||||||
src/C/Makefile.am -text
|
/missing -text
|
||||||
src/Fortran/H5.c -text
|
/rules.make -text
|
||||||
src/Fortran/H5Block.c -text
|
src/H5Block.c -text
|
||||||
src/Fortran/H5BlockF.f90 -text
|
src/H5Block.f90 -text
|
||||||
src/Fortran/H5Block_F.c -text
|
src/H5Block.h -text
|
||||||
src/Fortran/H5Block_attribs.c -text
|
src/H5BlockErrors.h -text
|
||||||
src/Fortran/H5Block_attribsF.f90 -text
|
src/H5BlockF.c -text
|
||||||
src/Fortran/H5Block_io.c -text
|
src/H5BlockPrivate.h -text
|
||||||
src/Fortran/H5Block_ioF.f90 -text
|
src/H5BlockReadWrite.c -text
|
||||||
src/Fortran/H5Block_readwrite_F.c -text
|
src/H5BlockReadWrite.f90 -text
|
||||||
src/Fortran/H5F.f90 -text
|
src/H5BlockReadWrite.h -text
|
||||||
src/Fortran/H5Part.c -text
|
src/H5BlockReadWriteF.c -text
|
||||||
src/Fortran/H5PartF.f90 -text
|
src/H5BlockTypes.h -text
|
||||||
src/Fortran/H5Part_F.c -text
|
src/H5MultiBlock.c -text
|
||||||
src/Fortran/H5Part_io.c -text
|
src/H5MultiBlock.h -text
|
||||||
src/Fortran/H5Part_ioF.f90 -text
|
src/H5MultiBlockErrors.h -text
|
||||||
src/Fortran/H5_F.c -text
|
src/H5MultiBlockPrivate.h -text
|
||||||
src/Fortran/H5_attribs.c -text
|
src/H5MultiBlockReadWrite.c -text
|
||||||
src/Fortran/H5_attribsF.f90 -text
|
src/H5MultiBlockReadWrite.h -text
|
||||||
src/Fortran/H5_attribs_F.c -text
|
src/H5MultiBlockTypes.h -text
|
||||||
src/Fortran/H5_constF.f90 -text
|
src/H5Part.c -text
|
||||||
src/Fortran/Makefile.am -text
|
src/H5Part.f90 -text
|
||||||
src/Fortran/TestUnderscore.f -text
|
src/H5Part.h -text
|
||||||
src/Fortran/TestUnderscoreC.c -text
|
src/H5PartAttrib.c -text
|
||||||
src/Fortran/h5_private.h -text
|
src/H5PartAttrib.f90 -text
|
||||||
|
src/H5PartAttrib.h -text
|
||||||
|
src/H5PartAttribF.c -text
|
||||||
|
src/H5PartErrors.h -text
|
||||||
|
src/H5PartF.c -text
|
||||||
|
src/H5PartPrivate.h -text
|
||||||
|
src/H5PartTypes.h -text
|
||||||
src/Makefile.am -text
|
src/Makefile.am -text
|
||||||
src/h5core/Makefile.am -text
|
src/TestUnderscore.f -text
|
||||||
src/h5core/h5_attach.c -text
|
src/TestUnderscoreC.c -text
|
||||||
src/h5core/h5_attribs.c -text
|
src/generate-attr.py -text
|
||||||
src/h5core/h5_attribs_private.h -text
|
src/generate-h5bl-readwrite.py -text
|
||||||
src/h5core/h5_debug_private.h -text
|
src/generate-h5multi-readwrite.py -text
|
||||||
src/h5core/h5_errorhandling.c -text
|
test/Bench.c -text
|
||||||
src/h5core/h5_errorhandling_private.h -text
|
test/BlockTestSpecs.txt -text
|
||||||
src/h5core/h5_fcmp.c -text
|
test/H5BlockDissolveGhosts.c -text
|
||||||
src/h5core/h5_fcmp_private.h -text
|
test/H5BlockParTestScalarField.c -text
|
||||||
src/h5core/h5_hdf5.c -text
|
test/H5BlockParTestScalarField.pbs -text
|
||||||
src/h5core/h5_hdf5_private.h -text
|
test/H5BlockParTestScalarFieldF.F90 -text
|
||||||
src/h5core/h5_hsearch.c -text
|
test/H5BlockTestAttributes.c -text
|
||||||
src/h5core/h5_hsearch_private.h -text
|
test/H5BlockTestAttributesF.F90 -text
|
||||||
src/h5core/h5_init.c -text
|
test/H5ParallelTest.cc -text
|
||||||
src/h5core/h5_init_private.h -text
|
test/H5PartAndreasTest.cc -text
|
||||||
src/h5core/h5_lustre.c -text
|
test/H5PartTest.cc -text
|
||||||
src/h5core/h5_lustre_private.h -text
|
test/H5PartTestParallel.cc -text
|
||||||
src/h5core/h5_maps.c -text
|
test/H5test.cc -text
|
||||||
src/h5core/h5_maps_private.h -text
|
test/H5testF.f -text
|
||||||
src/h5core/h5_model.c -text
|
test/H5testFpar.F90 -text
|
||||||
src/h5core/h5_model_private.h -text
|
|
||||||
src/h5core/h5_mpi.c -text
|
|
||||||
src/h5core/h5_mpi_private.h -text
|
|
||||||
src/h5core/h5_openclose.c -text
|
|
||||||
src/h5core/h5_private.h -text
|
|
||||||
src/h5core/h5_qsort.c -text
|
|
||||||
src/h5core/h5_qsort_private.h -text
|
|
||||||
src/h5core/h5_qsort_r.c -text
|
|
||||||
src/h5core/h5_readwrite.c -text
|
|
||||||
src/h5core/h5_readwrite_private.h -text
|
|
||||||
src/h5core/h5_syscall.c -text
|
|
||||||
src/h5core/h5_syscall_private.h -text
|
|
||||||
src/h5core/h5_types_private.h -text
|
|
||||||
src/h5core/h5_va_macros.h -text
|
|
||||||
src/h5core/h5b_attribs.c -text
|
|
||||||
src/h5core/h5b_model.c -text
|
|
||||||
src/h5core/h5b_model_private.h -text
|
|
||||||
src/h5core/h5b_readwrite.c -text
|
|
||||||
src/h5core/h5b_readwrite_private.h -text
|
|
||||||
src/h5core/h5b_types_private.h -text
|
|
||||||
src/h5core/h5t_access_private.h -text
|
|
||||||
src/h5core/h5t_access_tetm.c -text
|
|
||||||
src/h5core/h5t_access_trim.c -text
|
|
||||||
src/h5core/h5t_adjacencies.c -text
|
|
||||||
src/h5core/h5t_adjacencies_private.h -text
|
|
||||||
src/h5core/h5t_adjacencies_tetm.c -text
|
|
||||||
src/h5core/h5t_adjacencies_trim.c -text
|
|
||||||
src/h5core/h5t_core.c -text
|
|
||||||
src/h5core/h5t_core_private.h -text
|
|
||||||
src/h5core/h5t_core_tetm.c -text
|
|
||||||
src/h5core/h5t_core_trim.c -text
|
|
||||||
src/h5core/h5t_errorhandling_private.h -text
|
|
||||||
src/h5core/h5t_map.c -text
|
|
||||||
src/h5core/h5t_map_private.h -text
|
|
||||||
src/h5core/h5t_model.c -text
|
|
||||||
src/h5core/h5t_model_private.h -text
|
|
||||||
src/h5core/h5t_model_tetm.c -text
|
|
||||||
src/h5core/h5t_model_trim.c -text
|
|
||||||
src/h5core/h5t_octree.c -text
|
|
||||||
src/h5core/h5t_octree_private.h -text
|
|
||||||
src/h5core/h5t_readwrite.c -text
|
|
||||||
src/h5core/h5t_readwrite_private.h -text
|
|
||||||
src/h5core/h5t_readwrite_tetm.c -text
|
|
||||||
src/h5core/h5t_readwrite_trim.c -text
|
|
||||||
src/h5core/h5t_ref_elements.c -text
|
|
||||||
src/h5core/h5t_ref_elements_private.h -text
|
|
||||||
src/h5core/h5t_retrieve.c -text
|
|
||||||
src/h5core/h5t_retrieve_private.h -text
|
|
||||||
src/h5core/h5t_retrieve_tetm.c -text
|
|
||||||
src/h5core/h5t_retrieve_trim.c -text
|
|
||||||
src/h5core/h5t_store.c -text
|
|
||||||
src/h5core/h5t_store_private.h -text
|
|
||||||
src/h5core/h5t_store_tetm.c -text
|
|
||||||
src/h5core/h5t_store_trim.c -text
|
|
||||||
src/h5core/h5t_tags.c -text
|
|
||||||
src/h5core/h5t_tags_private.h -text
|
|
||||||
src/h5core/h5t_types_private.h -text
|
|
||||||
src/h5core/h5u_errorhandling_private.h -text
|
|
||||||
src/h5core/h5u_model.c -text
|
|
||||||
src/h5core/h5u_readwrite.c -text
|
|
||||||
src/h5core/h5u_readwrite_private.h -text
|
|
||||||
src/h5core/h5u_types_private.h -text
|
|
||||||
src/include/H5.h -text
|
|
||||||
src/include/H5Block.h -text
|
|
||||||
src/include/H5Block_attribs.h -text
|
|
||||||
src/include/H5Block_io.h -text
|
|
||||||
src/include/H5Block_model.h -text
|
|
||||||
src/include/H5Fed.h -text
|
|
||||||
src/include/H5Fed_adjacency.h -text
|
|
||||||
src/include/H5Fed_model.h -text
|
|
||||||
src/include/H5Fed_retrieve.h -text
|
|
||||||
src/include/H5Fed_store.h -text
|
|
||||||
src/include/H5Fed_tags.h -text
|
|
||||||
src/include/H5Part.h -text
|
|
||||||
src/include/H5Part_io.h -text
|
|
||||||
src/include/H5Part_model.h -text
|
|
||||||
src/include/H5_attribs.h -text
|
|
||||||
src/include/H5_model.h -text
|
|
||||||
src/include/H5hut.h -text
|
|
||||||
src/include/Makefile.am -text
|
|
||||||
src/include/h5core/Makefile.am -text
|
|
||||||
src/include/h5core/h5.h -text
|
|
||||||
src/include/h5core/h5_attribs.h -text
|
|
||||||
src/include/h5core/h5_debug.h -text
|
|
||||||
src/include/h5core/h5_errorhandling.h -text
|
|
||||||
src/include/h5core/h5_model.h -text
|
|
||||||
src/include/h5core/h5_syscall.h -text
|
|
||||||
src/include/h5core/h5_types.h -text
|
|
||||||
src/include/h5core/h5b_attribs.h -text
|
|
||||||
src/include/h5core/h5b_io.h -text
|
|
||||||
src/include/h5core/h5b_model.h -text
|
|
||||||
src/include/h5core/h5t_adjacencies.h -text
|
|
||||||
src/include/h5core/h5t_map.h -text
|
|
||||||
src/include/h5core/h5t_model.h -text
|
|
||||||
src/include/h5core/h5t_octree.h -text
|
|
||||||
src/include/h5core/h5t_retrieve.h -text
|
|
||||||
src/include/h5core/h5t_store.h -text
|
|
||||||
src/include/h5core/h5t_tags.h -text
|
|
||||||
src/include/h5core/h5u_io.h -text
|
|
||||||
src/include/h5core/h5u_model.h -text
|
|
||||||
test/Makefile.am -text
|
test/Makefile.am -text
|
||||||
test/h5b_read.c -text
|
|
||||||
test/h5b_test.c -text
|
|
||||||
test/h5b_write.c -text
|
|
||||||
test/h5u_read.c -text
|
|
||||||
test/h5u_test.c -text
|
|
||||||
test/h5u_write.c -text
|
|
||||||
test/params.h -text
|
test/params.h -text
|
||||||
|
test/read.c -text
|
||||||
|
test/test.c -text
|
||||||
|
test/testf.F90 -text
|
||||||
test/testframe.c -text
|
test/testframe.c -text
|
||||||
test/testframe.h -text
|
test/testframe.h -text
|
||||||
tools/H5PartMerge/AUTHORS -text
|
test/write.c -text
|
||||||
tools/H5PartMerge/COPYING -text
|
tools/H5BlockBench.c -text
|
||||||
tools/H5PartMerge/ChangeLog -text
|
tools/H5PartBench.c -text
|
||||||
tools/H5PartMerge/INSTALL -text
|
|
||||||
tools/H5PartMerge/NEWS -text
|
|
||||||
tools/H5PartMerge/README -text
|
|
||||||
tools/H5PartMerge/autogen.sh -text
|
|
||||||
tools/H5PartMerge/configure.ac -text
|
|
||||||
tools/H5PartMerge/makefile.am -text
|
|
||||||
tools/H5PartMerge/src/H5merge.cpp -text
|
|
||||||
tools/H5PartMerge/src/optparse.cpp -text
|
|
||||||
tools/H5PartMerge/src/optparse.hh -text
|
|
||||||
tools/Makefile.am -text
|
tools/Makefile.am -text
|
||||||
tools/README -text
|
tools/README -text
|
||||||
tools/h5PartDcToVtk.cc -text
|
|
||||||
tools/h5PartSurfaceToVtk.cc -text
|
|
||||||
tools/h5hutcc.in -text
|
|
||||||
tools/h5pAttrib.cc -text
|
tools/h5pAttrib.cc -text
|
||||||
tools/h5pToGNUplot.cc -text
|
tools/h5pToGNUplot.cc -text
|
||||||
tools/vtk2h5grid/Makefile.am -text
|
tools/homdynToH5p.cc -text
|
||||||
tools/vtk2h5grid/vtk2h5grid.cc -text
|
|
||||||
visit_plugins/databases/H5Part/.depend -text
|
|
||||||
visit_plugins/databases/H5Part/Makefile -text
|
|
||||||
visit_plugins/databases/H5Part/README.txt -text
|
|
||||||
visit_plugins/databases/H5Part/avth5partFileFormat.C -text
|
|
||||||
visit_plugins/databases/H5Part/avth5partFileFormat.h -text
|
|
||||||
visit_plugins/databases/H5Part/h5part.xml -text
|
|
||||||
visit_plugins/databases/H5Part/h5partCommonPluginInfo.C -text
|
|
||||||
visit_plugins/databases/H5Part/h5partEnginePluginInfo.C -text
|
|
||||||
visit_plugins/databases/H5Part/h5partMDServerPluginInfo.C -text
|
|
||||||
visit_plugins/databases/H5Part/h5partPluginInfo.C -text
|
|
||||||
visit_plugins/databases/H5Part/h5partPluginInfo.h -text
|
|
||||||
visit_plugins/operators/BinnerFilter/.depend -text
|
|
||||||
visit_plugins/operators/BinnerFilter/Binner.xml -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerCommonPluginInfo.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerEnginePluginInfo.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerFilter.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerFilter.h -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerFilter.java -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerGUIPluginInfo.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerMakefile -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerPluginInfo.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerPluginInfo.h -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerScriptingPluginInfo.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/BinnerViewerPluginInfo.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/Binnerreplace.txt -text
|
|
||||||
visit_plugins/operators/BinnerFilter/Makefile -text
|
|
||||||
visit_plugins/operators/BinnerFilter/PyBinner.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/PyBinner.h -text
|
|
||||||
visit_plugins/operators/BinnerFilter/QvisBinnerWindow.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/QvisBinnerWindow.h -text
|
|
||||||
visit_plugins/operators/BinnerFilter/avtBinnerFilter.C -text
|
|
||||||
visit_plugins/operators/BinnerFilter/avtBinnerFilter.h -text
|
|
||||||
visit_plugins/operators/BinnerFilter/icon.xpm -text
|
|
||||||
visit_plugins/operators/RandomSample/.depend -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSampleAttributes.C -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSampleAttributes.h -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSampleAttributes.java -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSampleCommonPluginInfo.C -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSampleEnginePluginInfo.C -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSampleGUIPluginInfo.C -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSamplePluginInfo.C -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSamplePluginInfo.h -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSampleScriptingPluginInfo.C -text
|
|
||||||
visit_plugins/operators/RandomSample/H5PartRandomSampleViewerPluginInfo.C -text
|
|
||||||
visit_plugins/operators/RandomSample/Makefile -text
|
|
||||||
visit_plugins/operators/RandomSample/PyH5PartRandomSampleAttributes.C -text
|
|
||||||
visit_plugins/operators/RandomSample/PyH5PartRandomSampleAttributes.h -text
|
|
||||||
visit_plugins/operators/RandomSample/QvisH5PartRandomSampleWindow.C -text
|
|
||||||
visit_plugins/operators/RandomSample/QvisH5PartRandomSampleWindow.h -text
|
|
||||||
visit_plugins/operators/RandomSample/RandomSample.xml -text
|
|
||||||
visit_plugins/operators/RandomSample/avtH5PartRandomSampleFilter.C -text
|
|
||||||
visit_plugins/operators/RandomSample/avtH5PartRandomSampleFilter.h -text
|
|
||||||
visit_plugins/operators/RandomSample/icon.xpm -text
|
|
||||||
|
|||||||
@@ -1,95 +0,0 @@
|
|||||||
*.tar.gz
|
|
||||||
*.[oa]
|
|
||||||
*.la
|
|
||||||
*.lo
|
|
||||||
*.so
|
|
||||||
*.dSYM
|
|
||||||
*~
|
|
||||||
*.h5
|
|
||||||
.deps
|
|
||||||
.dirstamp
|
|
||||||
.libs
|
|
||||||
CMakeFiles
|
|
||||||
INSTALL
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
aclocal.m4
|
|
||||||
attach_field_attributes
|
|
||||||
dump_field_attributes
|
|
||||||
autom4te.cache/
|
|
||||||
compile
|
|
||||||
config.guess
|
|
||||||
config.h
|
|
||||||
config.h.in
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config.sub
|
|
||||||
configure
|
|
||||||
depcomp
|
|
||||||
py-compile
|
|
||||||
examples/H5/attach_file
|
|
||||||
examples/H5/examples.h
|
|
||||||
examples/H5/h5hut.mod
|
|
||||||
examples/H5/openclose
|
|
||||||
examples/H5/openclosef
|
|
||||||
examples/H5/query
|
|
||||||
examples/H5/queryf
|
|
||||||
examples/H5/read_file_attribs
|
|
||||||
examples/H5/read_file_attribsf
|
|
||||||
examples/H5/read_step_attribs
|
|
||||||
examples/H5/read_step_attribsf
|
|
||||||
examples/H5/write_file_attribs
|
|
||||||
examples/H5/write_file_attribsf
|
|
||||||
examples/H5/write_step_attribs
|
|
||||||
examples/H5/write_step_attribsf
|
|
||||||
examples/H5Block/H5BlockExampleF
|
|
||||||
examples/H5Block/fields
|
|
||||||
examples/H5Block/read_write
|
|
||||||
examples/H5Part/Bench
|
|
||||||
examples/H5Part/H5test
|
|
||||||
examples/H5Part/H5testF
|
|
||||||
examples/H5Part/core_vfd
|
|
||||||
examples/H5Part/examples.h
|
|
||||||
examples/H5Part/h5hut.mod
|
|
||||||
examples/H5Part/particles
|
|
||||||
examples/H5Part/read_canonicalview
|
|
||||||
examples/H5Part/read_setnparticles
|
|
||||||
examples/H5Part/read_setview
|
|
||||||
examples/H5Part/read_strided
|
|
||||||
examples/H5Part/write_core_vfd
|
|
||||||
examples/H5Part/write_setnparticles
|
|
||||||
examples/H5Part/write_setnumparticles
|
|
||||||
examples/H5Part/write_setview
|
|
||||||
examples/H5Part/write_setviewf
|
|
||||||
examples/H5Part/write_strided
|
|
||||||
has_field
|
|
||||||
install-sh
|
|
||||||
libtool
|
|
||||||
ltmain.sh
|
|
||||||
m4/
|
|
||||||
missing
|
|
||||||
src/Fortran/TestUnderscore
|
|
||||||
src/Fortran/Underscore.h
|
|
||||||
src/include/H5hut.f
|
|
||||||
src/include/H5hutF.h
|
|
||||||
stamp-h1
|
|
||||||
test/h5b_test
|
|
||||||
test/h5u_test
|
|
||||||
test/h5_attach_test
|
|
||||||
tools/h5hutcc
|
|
||||||
tetmesh_adjacencies
|
|
||||||
tetmesh_read
|
|
||||||
tetmesh_read_tags
|
|
||||||
tetmesh_write
|
|
||||||
tetmesh_write1
|
|
||||||
examples/H5Fed/tetmesh_write2
|
|
||||||
examples/H5Fed/trimesh_2gnuplot
|
|
||||||
examples/H5Fed/trimesh_adjacencies
|
|
||||||
examples/H5Fed/trimesh_read
|
|
||||||
examples/H5Fed/trimesh_write
|
|
||||||
examples/H5Fed/trimesh_write_dunetest
|
|
||||||
tetmesh_write_tags
|
|
||||||
write_field
|
|
||||||
*.gch
|
|
||||||
ReferencePages
|
|
||||||
vtk2h5grid
|
|
||||||
@@ -6,5 +6,6 @@ Benedikt Oswald (PSI)
|
|||||||
Wes Bethel (NERSC/LBNL)
|
Wes Bethel (NERSC/LBNL)
|
||||||
John Shalf (NERSC/LBNL)
|
John Shalf (NERSC/LBNL)
|
||||||
Cristina Siegerist (NERSC/LBNL)
|
Cristina Siegerist (NERSC/LBNL)
|
||||||
|
Mark Howison (NERSC/LBNL)
|
||||||
|
|
||||||
Please use h5part@lists.psi.ch for communication.
|
Please use h5part@lists.psi.ch for communicaion.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
*** Copyright Notice ***
|
*** Copyright Notice ***
|
||||||
|
|
||||||
H5hut Copyright (c) 2006-2016, The Regents of the University of California,
|
H5Part Copyright (c) 2006-2009, The Regents of the University of California,
|
||||||
through Lawrence Berkeley National Laboratory (subject to receipt of any
|
through Lawrence Berkeley National Laboratory (subject to receipt of any
|
||||||
required approvals from the U.S. Dept. of Energy) and the Paul Scherrer
|
required approvals from the U.S. Dept. of Energy) and the Paul Scherrer
|
||||||
Institut (Switzerland). All rights reserved.
|
Institut (Switzerland). All rights reserved.
|
||||||
@@ -25,7 +25,7 @@ and to permit others to do so.
|
|||||||
|
|
||||||
*** License agreement ***
|
*** License agreement ***
|
||||||
|
|
||||||
H5hut Copyright (c) 2006-2016, The Regents of the University of California,
|
H5Part Copyright (c) 2006-2009, The Regents of the University of California,
|
||||||
through Lawrence Berkeley National Laboratory (subject to receipt of any
|
through Lawrence Berkeley National Laboratory (subject to receipt of any
|
||||||
required approvals from the U.S. Dept. of Energy) and the Paul Scherrer
|
required approvals from the U.S. Dept. of Energy) and the Paul Scherrer
|
||||||
Institut (Switzerland). All rights reserved.
|
Institut (Switzerland). All rights reserved.
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
2018-09-14 Gsell Achim <achi.gsell@psi.ch>
|
|
||||||
|
|
||||||
* C-API
|
|
||||||
- H5PartSetNumPoints() renamed to H5PartSetNumItems()
|
|
||||||
- H5PartGetNumPoints() renamed to H5PartGetNumItems()
|
|
||||||
- Dataset names longer then 64 bytes are handled as error.
|
|
||||||
- Same for step/iteration names.
|
|
||||||
* core API
|
|
||||||
- we use the term 'iteration' instead of 'step'
|
|
||||||
- we use the term 'item' instead of 'point'
|
|
||||||
- re-factor function and variable names
|
|
||||||
- in printing messages/debug output fixed
|
|
||||||
- do not flush (sync to disk) after writing a dataset by default,
|
|
||||||
can be controlled by a property
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,133 @@
|
|||||||
|
UNAME := $(shell uname | perl -pe 's/(sn\d\d\d\d|jsimpson)/UNICOS\/mk/')
|
||||||
|
# for host specific options
|
||||||
|
HOST := $(shell hostname)
|
||||||
|
|
||||||
|
# for processor-specific options
|
||||||
|
ifeq ($(UNAME), Linux)
|
||||||
|
PROC := $(shell uname -p)
|
||||||
|
endif
|
||||||
|
|
||||||
|
CXX = c++
|
||||||
|
CC = cc
|
||||||
|
H5HOME = /usr/local/hdf5
|
||||||
|
CFLAGS = -g -I$(H5HOME)/include
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
|
||||||
|
|
||||||
|
# MacOS-X Serial
|
||||||
|
ifeq ($(UNAME), Darwin)
|
||||||
|
ifeq ($(PARALLEL), yes)
|
||||||
|
CXX = g++
|
||||||
|
CC = mpicc
|
||||||
|
H5HOME = /usr/local
|
||||||
|
CFLAGS = -O -g -I$(H5HOME)/include -DPARALLEL_IO
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lmpich -lpmpich -lhdf5 -lz -lm
|
||||||
|
else
|
||||||
|
CXX = c++
|
||||||
|
CC = cc
|
||||||
|
F90 = xlf
|
||||||
|
H5HOME = /usr/local
|
||||||
|
CFLAGS = -O -g -I$(H5HOME)/include
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# SGI MIPS/Irix
|
||||||
|
ifeq ($(UNAME), IRIX64)
|
||||||
|
CXX = CC
|
||||||
|
CC = cc
|
||||||
|
F90 = f90
|
||||||
|
ifeq ($(PARALLEL), yes)
|
||||||
|
H5HOME = $(HDF5_DIR)
|
||||||
|
CFLAGS = -64 -O3 -I$(H5HOME)/include -DPARALLEL_IO
|
||||||
|
LDFLAGS = -64 -O3 -L$(H5HOME)/lib -lhdf5 -lz -lmpi -lm
|
||||||
|
else
|
||||||
|
H5HOME = /usr/local
|
||||||
|
CFLAGS = -O3 -I$(H5HOME)/include
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# AIX/SP-2 Parallel/serial : Seaborg
|
||||||
|
ifeq ($(UNAME), AIX)
|
||||||
|
ifeq ($(PARALLEL), yes) # parallel
|
||||||
|
CXX = mpCC_r
|
||||||
|
CC = mpxlc_r
|
||||||
|
# H5HOME = /usr/common/usg/hdf5_64/1.4.5-post2/parallel
|
||||||
|
H5HOME = /usr/common/usg/hdf5_64/1.6.1/parallel
|
||||||
|
# /usr/common/usg/hdf5/1.4.4/parallel
|
||||||
|
H4HOME = /usr/common/usg/hdf/default
|
||||||
|
OPT = -qarch=auto -qtune=auto-qcache=auto -O3 -qhot
|
||||||
|
CFLAGS = -q64 -I$(H5HOME)/include
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -L$(H4HOME)/lib -lz -lsz -lm
|
||||||
|
else # serial
|
||||||
|
CXX = xlC
|
||||||
|
CC = xlc
|
||||||
|
H5HOME = /usr/common/usg/hdf5/1.4.4/serial
|
||||||
|
H4HOME = /usr/common/usg/hdf/default
|
||||||
|
OPT = -qarch=auto -qtune=auto-qcache=auto -O3 -qhot
|
||||||
|
CFLAGS = -g -bmaxdata:800000000 -bmaxstack:256000000 -I$(H5HOME)/include
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -L$(H4HOME)/lib -lz -lm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Linux
|
||||||
|
ifeq ($(UNAME), Linux)
|
||||||
|
# if this machine is NERSC/Davinci Altix system
|
||||||
|
ifeq ($(PROC), ia64)
|
||||||
|
CC = icc
|
||||||
|
CXX = icc
|
||||||
|
|
||||||
|
ifeq ($(PARALLEL), yes)
|
||||||
|
# IA64 Linux Parallel
|
||||||
|
ifeq ($(HOST), davinci)
|
||||||
|
H5HOME = $(HDF5_PAR)
|
||||||
|
MPILIB = -lmpi
|
||||||
|
else
|
||||||
|
H5HOME = /usr/local
|
||||||
|
HDF5_PAR_LIB = -L$(H5HOME)/lib -lhdf5 -lz -lm
|
||||||
|
HDF5_PAR_INCLUDE = -I$(H5HOME)/include
|
||||||
|
MPIHOME = /usr/local
|
||||||
|
MPILIB = -lmpich
|
||||||
|
endif # HOST
|
||||||
|
CFLAGS = -O3 -DPARALLEL_IO -DH5_HAVE_PARALLEL $(HDF5_PAR_INCLUDE)
|
||||||
|
LDFLAGS = $(HDF5_PAR_LIB) $(MPILIB)
|
||||||
|
else # IA64 Linux Serial
|
||||||
|
CFLAGS = -O3 $(HDF5_INCLUDE)
|
||||||
|
LDFLAGS = $(HDF5_LIB) -lm
|
||||||
|
endif # PARALLEL
|
||||||
|
|
||||||
|
# else this is standard IA32 linux
|
||||||
|
else
|
||||||
|
ifeq ($(PARALLEL), yes)
|
||||||
|
# Linux Parallel
|
||||||
|
CC = gcc
|
||||||
|
CXX = g++
|
||||||
|
H5HOME = /usr/local
|
||||||
|
MPIHOME = /usr/local
|
||||||
|
CFLAGS = -O -g -DPARALLEL_IO -DH5_HAVE_PARALLEL -I$(H5HOME)/include
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lmpich -lrt -lz -lm
|
||||||
|
else # Linux Serial
|
||||||
|
CXX = g++
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O -g -I$(H5HOME)/include
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
|
||||||
|
endif # !PARALLEL
|
||||||
|
endif # PROC!ia64
|
||||||
|
|
||||||
|
endif # !Linux
|
||||||
|
|
||||||
|
ifeq ($(PARALLEL), yes) #parallel
|
||||||
|
ifdef F90
|
||||||
|
all: H5PartTest H5PartTest.o H5Part.o H5PartTestParallel H5PartAndreasTest H5PartF.o
|
||||||
|
else
|
||||||
|
all: H5PartTest H5PartTest.o H5Part.o H5PartTestParallel H5PartAndreasTest
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
ifdef F90
|
||||||
|
all: H5PartTest H5PartTest.o H5Part.o H5PartF.o
|
||||||
|
else
|
||||||
|
all: H5PartTest H5PartTest.o H5Part.o
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
include rules.make
|
||||||
@@ -0,0 +1,437 @@
|
|||||||
|
==============================================================================
|
||||||
|
README file for H5Part configure
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
+ 0. HDF5 library
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Make sure you have a working version of the HDF5 library installed. If you plan
|
||||||
|
to use parallel I/O you need to use a parallel HDF5 version. Source files and
|
||||||
|
installation instructions are available from the HDF5 website:
|
||||||
|
|
||||||
|
http://www.hdfgroup.org/HDF5/
|
||||||
|
|
||||||
|
|
||||||
|
+ 1. Quick start (If you feel lucky...)
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
For many platforms, where compilers are installed in the "default" location
|
||||||
|
and all the environment variables are set correctly, it should be sufficient
|
||||||
|
to type:
|
||||||
|
|
||||||
|
./configure [OPTIONS] && make [install]
|
||||||
|
|
||||||
|
to have the libraries and test program compiled.
|
||||||
|
|
||||||
|
|
||||||
|
+ 2. Configure line options
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
To view a full list of configure option, use:
|
||||||
|
|
||||||
|
./configure --help
|
||||||
|
|
||||||
|
(1) Enable options
|
||||||
|
--enable-fortran
|
||||||
|
--enable-parallel
|
||||||
|
--enable-tools
|
||||||
|
--enable-python
|
||||||
|
--enable-64 (only for AIX and Irix)
|
||||||
|
|
||||||
|
(2) Setting compilers related variables manually
|
||||||
|
To assign environment variables (e.g., CC, CFLAGS...), specify them as
|
||||||
|
VAR=VALUE before running configure. For example, if you are using the bash
|
||||||
|
shell, you might type:
|
||||||
|
|
||||||
|
export CC=gcc
|
||||||
|
|
||||||
|
to set the default C compiler. See below for descriptions of some useful
|
||||||
|
variables.
|
||||||
|
|
||||||
|
Compiler environment variables:
|
||||||
|
CC C compiler command
|
||||||
|
CXX C++ compiler command
|
||||||
|
FC Fortran compiler command
|
||||||
|
MPICC MPI-enabled C compiler command
|
||||||
|
MPICXX MPI-enabled C++ compiler command
|
||||||
|
MPIFC MPI-enabled Fortran compiler command
|
||||||
|
CFLAGS flags to append when invoking the C compiler
|
||||||
|
|
||||||
|
Library environment variables:
|
||||||
|
LDFLAGS flags to append when invoking the linker
|
||||||
|
|
||||||
|
(3) Setting prefix for installation manually (by default, the package will
|
||||||
|
install itself in the 'build' subdirectory of your source directory)
|
||||||
|
--prefix=PREFIX install files in PREFIX
|
||||||
|
|
||||||
|
|
||||||
|
+ 3. Platform specific settings for compiling libraries & test programs
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Building
|
||||||
|
make : builds the libraries and test programs
|
||||||
|
make install: builds and installs
|
||||||
|
make clean : removes extraneous object files
|
||||||
|
make distclean : returns configuration to unconfigured state
|
||||||
|
|
||||||
|
As tested on hosts:
|
||||||
|
|
||||||
|
(0) Franklin <franklin.nersc.gov> (CNL - Cray XT4)
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
module add hdf5_par
|
||||||
|
module add zlib
|
||||||
|
module add szip
|
||||||
|
export CC=cc CXX=CC FC=ftn MPICC=cc MPICXX=CC MPIFC=ftn
|
||||||
|
export LDFLAGS=$HDF5
|
||||||
|
./configure --enable-fortran --enable-parallel --with-hdf5path=$HDF5_PAR_DIR --with-mpiposix
|
||||||
|
make install
|
||||||
|
|
||||||
|
|
||||||
|
(1) Davinci <davinci.nersc.gov> (Linux"SUSE"-ia64)
|
||||||
|
---------------------------------------------------
|
||||||
|
FIRST THING FIRST!! Type:
|
||||||
|
|
||||||
|
module load intel
|
||||||
|
to have the proper compilers set up for use.
|
||||||
|
|
||||||
|
module load hdf5_par
|
||||||
|
|
||||||
|
[NOTE: module load hdf5 does not work at this moment.
|
||||||
|
Possible installation error of HDF5 on Davinci.]
|
||||||
|
|
||||||
|
|
||||||
|
Brief profile:
|
||||||
|
CC = icc
|
||||||
|
CXX = icc
|
||||||
|
FC = ifort
|
||||||
|
MPICC = icc
|
||||||
|
MPICXX = icc
|
||||||
|
MPIFC = ifort
|
||||||
|
|
||||||
|
If default doesn't work, try:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure && make install
|
||||||
|
|
||||||
|
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
|
||||||
|
|
||||||
|
|
||||||
|
On this host, executing:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure --enable-fortran --enable-parallel && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=icc CXX=icc FC=ifort MPICC=icc MPICXX=icc MPIFC=ifort ./configure --enable-fortran --enable-parallel && make install
|
||||||
|
|
||||||
|
has functioned correctly.
|
||||||
|
|
||||||
|
|
||||||
|
To run test program, go to test directory:
|
||||||
|
|
||||||
|
(i) Serial test
|
||||||
|
run:
|
||||||
|
./H5testF
|
||||||
|
./H5PartTest
|
||||||
|
|
||||||
|
(ii) Parallel test
|
||||||
|
run:
|
||||||
|
mpirun 2 H5testFpar
|
||||||
|
mpirun 2 H5PartTestP
|
||||||
|
|
||||||
|
NOTE: Number 2 above is a arbitrary number that indicates the number of processes.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(2) Jacquard <jacquard.nersc.gov> (Linux"SUSE"-x86_64)
|
||||||
|
-------------------------------------------------------
|
||||||
|
Brief profile:
|
||||||
|
CC = pathcc
|
||||||
|
CXX = pathCC
|
||||||
|
FC = pathf90
|
||||||
|
MPICC = mpicc
|
||||||
|
MPICXX = mpicxx
|
||||||
|
MPIFC = mpif90
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
If default doesn't work, try:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure && make install
|
||||||
|
|
||||||
|
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
On this host, executing:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure --enable-fortran --enable-parallel && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=pathcc CXX=pathCC FC=pathf90 MPICC=mpicc MPICXX=mpicxx MPIFC=mpif90 ./configure --enable-fortran --enable-parallel && make install
|
||||||
|
|
||||||
|
has functioned correctly.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To run test program, go to test directory:
|
||||||
|
|
||||||
|
(i) Serial test
|
||||||
|
run:
|
||||||
|
./H5testF
|
||||||
|
./H5PartTest
|
||||||
|
|
||||||
|
(ii) Parallel test
|
||||||
|
In Jacquard, we need a script to run parallel programs, since Jacquard does not support interactive parallel processing. Instead, we need to submit the task to a queue. A sample script (run_H5testFpar.scr) may look like below:
|
||||||
|
|
||||||
|
+++++++++++++++++++++++++++++++++++++++
|
||||||
|
#!/bin/csh
|
||||||
|
#PBS -l nodes=1:ppn=2,walltime=00:05:00
|
||||||
|
#PBS -N H5testFpar
|
||||||
|
#PBS -o H5testFpar.out
|
||||||
|
#PBS -e H5testFpar.err
|
||||||
|
#PBS -q debug
|
||||||
|
#PBS -A mpccc
|
||||||
|
#PBS -V
|
||||||
|
|
||||||
|
setenv PBS_OWORKDIR /home/H5Part/test
|
||||||
|
|
||||||
|
cd $PBS_O_WORKDIR
|
||||||
|
mpirun -np 2 ./H5testFpar
|
||||||
|
+++++++++++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
Then, we need to submit the task to a queue by running:
|
||||||
|
|
||||||
|
qsub run_H5testFpar.scr
|
||||||
|
|
||||||
|
After processed, the result will appear in H5testFpar.out, and error messages will appear in H5testFpar.err.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(3) Bassi <bassi.nersc.ogv> (AIX5.3.0.0-Power 3)
|
||||||
|
-------------------------------------------------
|
||||||
|
FIRST THING FIRST!! Type:
|
||||||
|
|
||||||
|
module load gcc
|
||||||
|
|
||||||
|
to have the proper compilers set up for use.
|
||||||
|
|
||||||
|
Brief profile:
|
||||||
|
CC = cc_r
|
||||||
|
CXX = cc_r
|
||||||
|
FC = xlf_r
|
||||||
|
MPICC = mpcc_r
|
||||||
|
MPICXX = mpcc_r
|
||||||
|
MPIFC = mpxlf_r
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
If default doesn't work, try:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure && make install
|
||||||
|
|
||||||
|
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
On this host, executing:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure --enable-fortran --enable-parallel && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=cc_r CXX=cc_r FC=xlf_r MPICC=mpcc_r MPICXX=mpcc_r MPIFC=mpxlf_r ./configure --enable-fortran --enable-parallel && make install
|
||||||
|
|
||||||
|
has functioned correctly.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To run test program, go to test directory:
|
||||||
|
|
||||||
|
(i) Serial test
|
||||||
|
run:
|
||||||
|
./H5testF
|
||||||
|
./H5PartTest
|
||||||
|
|
||||||
|
(ii) Parallel test
|
||||||
|
run:
|
||||||
|
unsetenv MP_SINGLE_THREAD
|
||||||
|
poe ./H5PartTestP -procs 2 -nodes 1
|
||||||
|
poe ./H5testFpar -procs 2 -nodes 1
|
||||||
|
|
||||||
|
For more details on how to run parallel programs on Bassi, go to:
|
||||||
|
|
||||||
|
http://www.nersc.gov/nusers/resources/bassi/running_jobs/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(4) Starsky <starsky.lbl.gov> (Darwin8.5.0-PowerPC)
|
||||||
|
----------------------------------------------------
|
||||||
|
FIRST THING FIRST!! Set environment variables: (in tcsh)
|
||||||
|
|
||||||
|
setenv LD_LIBRARY_PATH /usr/local/g95/lib/gcc-lib/powerpc-apple-darwin8.5.0/4.0.3/
|
||||||
|
setenv PATH ${PATH}:/usr/local/g95/bin
|
||||||
|
|
||||||
|
NOTE: This environment variable setting is specifit to Starsky. It is to make configure find the fortran compiler.
|
||||||
|
|
||||||
|
Brief profile:
|
||||||
|
CC = gcc
|
||||||
|
CXX = g++
|
||||||
|
FC = g95
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
If default doesn't work, try:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=gcc CXX=g++ FC=g95 ./configure && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=gcc CXX=g++ FC=g95 ./configure && make install
|
||||||
|
|
||||||
|
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
On this host, executing:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install
|
||||||
|
|
||||||
|
has functioned correctly.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To run test program, go to test directory:
|
||||||
|
|
||||||
|
(i) Serial test
|
||||||
|
run:
|
||||||
|
./H5testF
|
||||||
|
./H5PartTest
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(5) Linux AMD64 Visualization group workstations (Linux"SUSE"-x86_64)
|
||||||
|
---------------------------------------------------------
|
||||||
|
Brief profile:
|
||||||
|
CC = gcc
|
||||||
|
CXX = g++
|
||||||
|
FC = g95
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
If default doesn't work, try:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=gcc CXX=g++ FC=g95 ./configure && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=gcc CXX=g++ FC=g95 ./configure && make install
|
||||||
|
|
||||||
|
And, of course, you should add configure options, such as --enable-fortran --enable-parallel.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
On this host, executing:
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
env CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
CC=gcc CXX=g++ FC=g95 ./configure --enable-fortran && make install
|
||||||
|
|
||||||
|
has functioned correctly.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To run test program, go to test directory:
|
||||||
|
|
||||||
|
(i) Serial test
|
||||||
|
run:
|
||||||
|
./H5testF
|
||||||
|
./H5PartTest
|
||||||
|
|
||||||
|
|
||||||
|
(6) Cray XT3 @ CSCS gele
|
||||||
|
|
||||||
|
1) modules/3.1.6 9) PrgEnv-pgi/1.4.26 17) xt-lustre-ss/1.4.26
|
||||||
|
2) MySQL/4.0.26 10) xt-pbs/5.3.4 18) Base-opts/1.4.26
|
||||||
|
3) acml/3.0 11) xt-service/1.4.26 19) subversion/1.3.2
|
||||||
|
4) pgi/6.1.4 12) xt-libc/1.4.26 20) zlib/1.2.3
|
||||||
|
5) totalview/7.2.0 13) xt-os/1.4.26 21) szip/2.0
|
||||||
|
6) xt-libsci/1.4.26 14) xt-catamount/1.4.26 22) hdf5/1.6.5
|
||||||
|
7) xt-mpt/1.4.26 15) xt-boot/1.4.26
|
||||||
|
8) xt-pe/1.4.26 16) xt-crms/1.4.26
|
||||||
|
|
||||||
|
|
||||||
|
CFLAGS="-I$H5HOME/include -DF77_SINGLE_UNDERSCORE" LDFLAGS="-L$H5HOME/lib -L$ZHOME/lib" ./configure --enable-parallel --enable-fortran
|
||||||
|
|
||||||
|
|
||||||
|
(7) merlin00 / merlin3
|
||||||
|
|
||||||
|
Currently Loaded Modulefiles:
|
||||||
|
1) hdf5/hdf5-1.6.5 2) root/root-5.10.00 3) mpi/mpich2-1.0.3-pgi-6.1 4) pgi/pgi_64-6.1
|
||||||
|
|
||||||
|
FC=mpif90 ./configure --enable-parallel --enable-fortran
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
+ 4. Trouble shooting (Things to check for...)
|
||||||
|
--------------------------------------------
|
||||||
|
(0) Have you set the LD_LIBRARY_PATH?
|
||||||
|
---Some systems require the user to manually set the environment variable, LD_LIBRARY_PATH. To do so:
|
||||||
|
|
||||||
|
set the environment variable HDF5ROOT or PHDF5ROOT to point to your installation of HDF5 (serial and/or parallel respectively).
|
||||||
|
|
||||||
|
For Korn or Bourne shell:
|
||||||
|
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5ROOT}/lib;export LD_LIBRARY_PATH
|
||||||
|
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:{PHDF5ROOT}/lib;export LD_LIBRARY_PATH
|
||||||
|
|
||||||
|
For C shell:
|
||||||
|
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HDF5ROOT}/lib
|
||||||
|
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${PHDF5ROOT}/lib
|
||||||
|
|
||||||
|
Note that the values of HDF5ROOT & PHDF5ROOT will be in the "summary" section when you run configure.
|
||||||
|
|
||||||
|
Not properly set LD_LIBRARY_PATH value may result in a runtime error:
|
||||||
|
|
||||||
|
./H5PartTest: error while loading shared libraries: libhdf5.so.0: cannot open shared object file: No such file or directory
|
||||||
|
|
||||||
|
(1) Are the compilers set correctly?
|
||||||
|
---Check with: which COMPILER
|
||||||
|
|
||||||
|
(2) Have you installed HDF5?
|
||||||
|
---You can get it at: http://vis.lbl.gov/Research/AcceleratorSAPP/index.html
|
||||||
|
|
||||||
|
(3) Have you loaded the proper modules?
|
||||||
|
---It is necessary in Davinci & Bassi, and configure && make install may not work without it.
|
||||||
|
|
||||||
|
|
||||||
@@ -1,21 +1,16 @@
|
|||||||
ACLOCAL_AMFLAGS = -I m4
|
# Trial by Antino Kim
|
||||||
EXTRA_DIST = \
|
# Top level Makefile.am
|
||||||
autogen.sh \
|
ACLOCAL_AMFLAGS=-I m4
|
||||||
ax_pkg_swig.m4
|
|
||||||
|
|
||||||
SUBDIRS = \
|
SUBDIRS = \
|
||||||
src \
|
doc \
|
||||||
test \
|
src \
|
||||||
tools \
|
test \
|
||||||
doc \
|
tools
|
||||||
examples/H5 \
|
|
||||||
examples/H5Part \
|
|
||||||
examples/H5Block \
|
|
||||||
examples/H5Fed
|
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = \
|
MAINTAINERCLEANFILES = \
|
||||||
config.h \
|
config.h \
|
||||||
config.log \
|
config.log \
|
||||||
config.status \
|
config.status \
|
||||||
stamp-h.in \
|
stamp-h.in \
|
||||||
stamp-h1
|
stamp-h1
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
|
||||||
|
# This is a very rudimentary multiarchitecture makefile
|
||||||
|
# You need to uncomment the default block of make variables you need
|
||||||
|
# Some key things to watch for are the following defines
|
||||||
|
# -DREGRESSIONTEST : enables a main(){} inside of
|
||||||
|
# the H5Part.cc file that does simple regression testing.
|
||||||
|
# -DPARALLEL_IO : If you want to use parallel HDF5, you have to
|
||||||
|
# enable this. Otherwise, you get only the serial
|
||||||
|
# implementation of the library.
|
||||||
|
|
||||||
|
# MacOS-X Serial
|
||||||
|
#CXX = c++
|
||||||
|
#CC = cc
|
||||||
|
#F90 = xlf
|
||||||
|
#H5HOME = /usr/local
|
||||||
|
#CFLAGS = -O -g -I$(H5HOME)/include
|
||||||
|
#LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
|
||||||
|
|
||||||
|
# AIX/SP-2 Parallel : Seaborg
|
||||||
|
#CXX = mpCC_r
|
||||||
|
#CC = mpcc_r
|
||||||
|
#F90 = mpxlf
|
||||||
|
#H5HOME = /usr/common/usg/hdf5/1.4.4/parallel
|
||||||
|
#H4HOME = /usr/common/usg/hdf/default
|
||||||
|
#OPT = -qarch=auto -qtune=auto-qcache=auto -O3 -qhot
|
||||||
|
#CFLAGS = -g -bmaxdata:800000000 -bmaxstack:256000000 -I$(H5HOME)/include
|
||||||
|
#LDFLAGS = -L$(H5HOME)/lib -lhdf5 -L$(H4HOME)/lib -lz -lm
|
||||||
|
|
||||||
|
# Linux Serial
|
||||||
|
#CXX = g++
|
||||||
|
#CC = gcc
|
||||||
|
#F90 = g77 # or could be pgif90
|
||||||
|
#CFLAGS = -O -g -I$(H5HOME)/include
|
||||||
|
#LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
|
||||||
|
|
||||||
|
# Linux Jacquard
|
||||||
|
CC = mpicc
|
||||||
|
CXX = mpicxx
|
||||||
|
F90 = mpif90
|
||||||
|
H5HOME = /usr/common/usg/hdf5/1.6.3/parallel
|
||||||
|
CFLAGS = -O2 -DPARALLEL_IO -DH5_HAVE_PARALLEL -I$(H5HOME)/include
|
||||||
|
LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lz -lm
|
||||||
|
|
||||||
|
# Linux Parallel
|
||||||
|
#CC = gcc
|
||||||
|
#CXX = g++
|
||||||
|
#F90 = g77
|
||||||
|
#H5HOME = /usr/local
|
||||||
|
# /usr/common/usg/hdf5/1.6.3/parallel
|
||||||
|
#MPIHOME = /usr/local
|
||||||
|
#CFLAGS = -O -g -DPARALLEL_IO -DH5_HAVE_PARALLEL -I$(H5HOME)/include
|
||||||
|
#LDFLAGS = -L$(H5HOME)/lib -lhdf5 -lmpich -lrt -lz -lm
|
||||||
|
|
||||||
|
all: H5PartTest H5PartTest.o H5Part.o
|
||||||
|
parallel: H5PartTest H5PartTest.o H5Part.o H5PartTestParallel H5PartAndreasTest # parallel regression tests
|
||||||
|
fortran: H5PartF.o # fortran bindings
|
||||||
|
|
||||||
|
include rules.make
|
||||||
|
|
||||||
@@ -1,58 +1,3 @@
|
|||||||
#### H5PART trunk ############################################################
|
|
||||||
|
|
||||||
* h5_file_t is now uintptr_t
|
|
||||||
* experimental version of parallel H5Fed
|
|
||||||
* new API function for file open using properties (similiar to hdf5 properties)
|
|
||||||
|
|
||||||
#### H5PART 1.99.10 ############################################################
|
|
||||||
|
|
||||||
* C99 compiler required
|
|
||||||
* C API with inline functions
|
|
||||||
|
|
||||||
|
|
||||||
#### H5PART 1.99.0 ############################################################
|
|
||||||
|
|
||||||
rudimental implementation of a grid manager
|
|
||||||
|
|
||||||
Important changes from version 1.6 to 1.99.0
|
|
||||||
|
|
||||||
Renamed type:
|
|
||||||
H5PartFile -> h5_file_t
|
|
||||||
h5part_int64_t -> h5_int64_t
|
|
||||||
h5part_float64_t -> h5_float_t
|
|
||||||
|
|
||||||
Renamed functions:
|
|
||||||
All function not related to a specific data model have been renamed from
|
|
||||||
H5PartFunction() to H5Function().
|
|
||||||
|
|
||||||
Example:
|
|
||||||
H5PartOpenFile() -> H5OpenFile()
|
|
||||||
|
|
||||||
Removed functions:
|
|
||||||
To simplify the API, there is just one function to open a file. It's the
|
|
||||||
same function for serial and parallel code.
|
|
||||||
|
|
||||||
#### H5PART 1.6.6 ############################################################
|
|
||||||
|
|
||||||
Fixed typo (Write instead of Read) in the h5bl_3d_read_scalar_field* Fortran
|
|
||||||
interface.
|
|
||||||
|
|
||||||
Added missing type normalization for int32 type.
|
|
||||||
|
|
||||||
Rewrite of h5pAttrib tool.
|
|
||||||
|
|
||||||
#### H5PART 1.6.5 ############################################################
|
|
||||||
|
|
||||||
Fixed several build errors reported by Iuri Prilepov on Ubuntu 11.04.
|
|
||||||
|
|
||||||
#### H5PART 1.6.4 ############################################################
|
|
||||||
|
|
||||||
Fixed bug where H5PartSetViewIndices was not setting an empty view when the
|
|
||||||
number of elements is 0.
|
|
||||||
|
|
||||||
Set a threshold on the HDF5 alignment parameter so that small metadata writes
|
|
||||||
are not aligned, which causes large gaps in the file.
|
|
||||||
|
|
||||||
#### H5PART 1.6.3 ############################################################
|
#### H5PART 1.6.3 ############################################################
|
||||||
|
|
||||||
New build system uses libtool and can build shared libraries.
|
New build system uses libtool and can build shared libraries.
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
Website:
|
||||||
|
|
||||||
|
http://vis.lbl.gov/Research/AcceleratorSAPP/
|
||||||
|
|
||||||
|
Particle based simulations of accelerator beam-lines, especially in six
|
||||||
|
dimensional phase space, generate vast amounts of data. Even though a subset of
|
||||||
|
statistical information regarding phase space or analysis needs to be preserved,
|
||||||
|
reading and writing such enormous restart files on massively parallel
|
||||||
|
supercomputing systems remains challenging.
|
||||||
|
|
||||||
|
H5Part is a very simple data storage schema and provides an API that simplifies
|
||||||
|
the reading/writing of the data to the HDF5 file format. An important
|
||||||
|
foundation for a stable visualization and data analysis environment is a stable
|
||||||
|
and portable file storage format and its associated APIs. The presence of a
|
||||||
|
"common file storage format," including associated APIs, will help foster a
|
||||||
|
fundamental level of interoperability across the project's software
|
||||||
|
infrastructure. It will also help ensure that key data analysis capabilities
|
||||||
|
are present during the earliest phases of the software development effort.
|
||||||
|
|
||||||
|
H5Part is built on top of the HDF5 (Hierarchical Data Format). HDF5 offers a
|
||||||
|
self-describing machine-independent binary file format that supports scalable
|
||||||
|
parallel I/O performance for MPI codes on a variety of supercomputing systems,
|
||||||
|
and works equally well on laptop computers. The API is available for C, C++, and
|
||||||
|
Fortran codes. The H5Part file format and APIs enable disparate research groups
|
||||||
|
with different simulation implementations to transparently share datasets and
|
||||||
|
data analysis tools. For instance, the common file format will enable groups
|
||||||
|
that depend on completely different simulation implementations to share data
|
||||||
|
analysis tools.
|
||||||
|
|
||||||
|
|||||||
@@ -1,48 +1,54 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Run this to generate all the initial makefiles, etc.
|
# Run this to generate all the initial makefiles, etc.
|
||||||
|
|
||||||
ACLOCAL_FLAGS="-I m4 -I . $ACLOCAL_FLAGS"
|
|
||||||
LIBTOOLIZE_FLAGS="--force $LIBTOOLIZE_FLAGS"
|
|
||||||
AUTOMAKE_FLAGS="--add-missing --copy --foreign $AUTOMAKE_FLAGS"
|
|
||||||
|
|
||||||
LIBTOOLIZE=`which libtoolize`
|
|
||||||
if [ "$LIBTOOLIZE" = "" ]; then
|
|
||||||
LIBTOOLIZE=`which glibtoolize`
|
|
||||||
fi
|
|
||||||
if [ "$LIBTOOLIZE" = "" ]; then
|
|
||||||
echo "libtoolize not found" 1>&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "+ making misc files ..."
|
echo "+ making misc files ..."
|
||||||
touch NEWS README AUTHORS ChangeLog
|
touch NEWS README AUTHORS ChangeLog
|
||||||
echo
|
echo
|
||||||
$LIBTOOLIZE $LIBTOOLIZE_FLAGS || {
|
echo
|
||||||
echo "libtoolize failed"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
echo
|
echo
|
||||||
echo "+ running aclocal ..."
|
echo "+ running aclocal ..."
|
||||||
aclocal $ACLOCAL_FLAGS || {
|
aclocal $ACLOCAL_FLAGS || {
|
||||||
echo "aclocal failed - check that all needed development files are present on system"
|
echo
|
||||||
exit 1
|
echo "aclocal failed - check that all needed development files are present on system"
|
||||||
|
exit 1
|
||||||
}
|
}
|
||||||
echo
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
echo "+ running autoheader ... "
|
echo "+ running autoheader ... "
|
||||||
autoheader || {
|
autoheader || {
|
||||||
echo "autoheader failed"
|
echo
|
||||||
exit 1
|
echo "autoheader failed"
|
||||||
|
exit 1
|
||||||
}
|
}
|
||||||
echo
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo "+ running libtoolize ... "
|
||||||
|
libtoolize --force || {
|
||||||
|
echo
|
||||||
|
echo "libtoolize failed"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
echo "+ running autoconf ... "
|
echo "+ running autoconf ... "
|
||||||
autoconf || {
|
autoconf || {
|
||||||
echo "autoconf failed"
|
echo
|
||||||
exit 1
|
echo "autoconf failed"
|
||||||
|
exit 1
|
||||||
}
|
}
|
||||||
echo
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
echo "+ running automake ... "
|
echo "+ running automake ... "
|
||||||
automake $AUTOMAKE_FLAGS || {
|
automake -a -c --foreign || {
|
||||||
echo "automake failed"
|
echo
|
||||||
exit 1
|
echo "automake failed"
|
||||||
|
exit 1
|
||||||
}
|
}
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
|
||||||
|
|||||||
@@ -1,982 +0,0 @@
|
|||||||
# ===========================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Check for baseline language coverage in the compiler for the specified
|
|
||||||
# version of the C++ standard. If necessary, add switches to CXX and
|
|
||||||
# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard)
|
|
||||||
# or '14' (for the C++14 standard).
|
|
||||||
#
|
|
||||||
# The second argument, if specified, indicates whether you insist on an
|
|
||||||
# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
|
|
||||||
# -std=c++11). If neither is specified, you get whatever works, with
|
|
||||||
# preference for an extended mode.
|
|
||||||
#
|
|
||||||
# The third argument, if specified 'mandatory' or if left unspecified,
|
|
||||||
# indicates that baseline support for the specified C++ standard is
|
|
||||||
# required and that the macro should error out if no mode with that
|
|
||||||
# support is found. If specified 'optional', then configuration proceeds
|
|
||||||
# regardless, after defining HAVE_CXX${VERSION} if and only if a
|
|
||||||
# supporting mode is found.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
|
|
||||||
# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
|
|
||||||
# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
|
|
||||||
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
|
|
||||||
# Copyright (c) 2015 Paul Norman <penorman@mac.com>
|
|
||||||
# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
|
|
||||||
# Copyright (c) 2016 Krzesimir Nowak <qdlacz@gmail.com>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 7
|
|
||||||
|
|
||||||
dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
|
|
||||||
dnl (serial version number 13).
|
|
||||||
|
|
||||||
AX_REQUIRE_DEFINED([AC_MSG_WARN])
|
|
||||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
|
||||||
m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
|
|
||||||
[$1], [14], [ax_cxx_compile_alternatives="14 1y"],
|
|
||||||
[$1], [17], [ax_cxx_compile_alternatives="17 1z"],
|
|
||||||
[m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
|
|
||||||
m4_if([$2], [], [],
|
|
||||||
[$2], [ext], [],
|
|
||||||
[$2], [noext], [],
|
|
||||||
[m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
|
|
||||||
m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
|
|
||||||
[$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
|
|
||||||
[$3], [optional], [ax_cxx_compile_cxx$1_required=false],
|
|
||||||
[m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
|
|
||||||
AC_LANG_PUSH([C++])dnl
|
|
||||||
ac_success=no
|
|
||||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
|
|
||||||
ax_cv_cxx_compile_cxx$1,
|
|
||||||
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
|
||||||
[ax_cv_cxx_compile_cxx$1=yes],
|
|
||||||
[ax_cv_cxx_compile_cxx$1=no])])
|
|
||||||
if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
|
|
||||||
ac_success=yes
|
|
||||||
fi
|
|
||||||
|
|
||||||
m4_if([$2], [noext], [], [dnl
|
|
||||||
if test x$ac_success = xno; then
|
|
||||||
for alternative in ${ax_cxx_compile_alternatives}; do
|
|
||||||
switch="-std=gnu++${alternative}"
|
|
||||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
|
||||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
|
||||||
$cachevar,
|
|
||||||
[ac_save_CXX="$CXX"
|
|
||||||
CXX="$CXX $switch"
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
|
||||||
[eval $cachevar=yes],
|
|
||||||
[eval $cachevar=no])
|
|
||||||
CXX="$ac_save_CXX"])
|
|
||||||
if eval test x\$$cachevar = xyes; then
|
|
||||||
CXX="$CXX $switch"
|
|
||||||
if test -n "$CXXCPP" ; then
|
|
||||||
CXXCPP="$CXXCPP $switch"
|
|
||||||
fi
|
|
||||||
ac_success=yes
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi])
|
|
||||||
|
|
||||||
m4_if([$2], [ext], [], [dnl
|
|
||||||
if test x$ac_success = xno; then
|
|
||||||
dnl HP's aCC needs +std=c++11 according to:
|
|
||||||
dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
|
|
||||||
dnl Cray's crayCC needs "-h std=c++11"
|
|
||||||
for alternative in ${ax_cxx_compile_alternatives}; do
|
|
||||||
for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
|
|
||||||
cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
|
|
||||||
AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
|
|
||||||
$cachevar,
|
|
||||||
[ac_save_CXX="$CXX"
|
|
||||||
CXX="$CXX $switch"
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
|
|
||||||
[eval $cachevar=yes],
|
|
||||||
[eval $cachevar=no])
|
|
||||||
CXX="$ac_save_CXX"])
|
|
||||||
if eval test x\$$cachevar = xyes; then
|
|
||||||
CXX="$CXX $switch"
|
|
||||||
if test -n "$CXXCPP" ; then
|
|
||||||
CXXCPP="$CXXCPP $switch"
|
|
||||||
fi
|
|
||||||
ac_success=yes
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if test x$ac_success = xyes; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi])
|
|
||||||
AC_LANG_POP([C++])
|
|
||||||
if test x$ax_cxx_compile_cxx$1_required = xtrue; then
|
|
||||||
if test x$ac_success = xno; then
|
|
||||||
AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test x$ac_success = xno; then
|
|
||||||
HAVE_CXX$1=0
|
|
||||||
AC_MSG_NOTICE([No compiler with C++$1 support was found])
|
|
||||||
else
|
|
||||||
HAVE_CXX$1=1
|
|
||||||
AC_DEFINE(HAVE_CXX$1,1,
|
|
||||||
[define if the compiler supports basic C++$1 syntax])
|
|
||||||
fi
|
|
||||||
AC_SUBST(HAVE_CXX$1)
|
|
||||||
m4_if([$1], [17], [AC_MSG_WARN([C++17 is not yet standardized, so the checks may change in incompatible ways anytime])])
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl Test body for checking C++11 support
|
|
||||||
|
|
||||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
|
|
||||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
dnl Test body for checking C++14 support
|
|
||||||
|
|
||||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
|
|
||||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
|
|
||||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
|
|
||||||
)
|
|
||||||
|
|
||||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
|
|
||||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_11
|
|
||||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_14
|
|
||||||
_AX_CXX_COMPILE_STDCXX_testbody_new_in_17
|
|
||||||
)
|
|
||||||
|
|
||||||
dnl Tests for new features in C++11
|
|
||||||
|
|
||||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
|
|
||||||
|
|
||||||
// If the compiler admits that it is not ready for C++11, why torture it?
|
|
||||||
// Hopefully, this will speed up the test.
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
|
||||||
|
|
||||||
#error "This is not a C++ compiler"
|
|
||||||
|
|
||||||
#elif __cplusplus < 201103L
|
|
||||||
|
|
||||||
#error "This is not a C++11 compiler"
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
namespace cxx11
|
|
||||||
{
|
|
||||||
|
|
||||||
namespace test_static_assert
|
|
||||||
{
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
struct check
|
|
||||||
{
|
|
||||||
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_final_override
|
|
||||||
{
|
|
||||||
|
|
||||||
struct Base
|
|
||||||
{
|
|
||||||
virtual void f() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Derived : public Base
|
|
||||||
{
|
|
||||||
virtual void f() override {}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_double_right_angle_brackets
|
|
||||||
{
|
|
||||||
|
|
||||||
template < typename T >
|
|
||||||
struct check {};
|
|
||||||
|
|
||||||
typedef check<void> single_type;
|
|
||||||
typedef check<check<void>> double_type;
|
|
||||||
typedef check<check<check<void>>> triple_type;
|
|
||||||
typedef check<check<check<check<void>>>> quadruple_type;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_decltype
|
|
||||||
{
|
|
||||||
|
|
||||||
int
|
|
||||||
f()
|
|
||||||
{
|
|
||||||
int a = 1;
|
|
||||||
decltype(a) b = 2;
|
|
||||||
return a + b;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_type_deduction
|
|
||||||
{
|
|
||||||
|
|
||||||
template < typename T1, typename T2 >
|
|
||||||
struct is_same
|
|
||||||
{
|
|
||||||
static const bool value = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
template < typename T >
|
|
||||||
struct is_same<T, T>
|
|
||||||
{
|
|
||||||
static const bool value = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
template < typename T1, typename T2 >
|
|
||||||
auto
|
|
||||||
add(T1 a1, T2 a2) -> decltype(a1 + a2)
|
|
||||||
{
|
|
||||||
return a1 + a2;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
test(const int c, volatile int v)
|
|
||||||
{
|
|
||||||
static_assert(is_same<int, decltype(0)>::value == true, "");
|
|
||||||
static_assert(is_same<int, decltype(c)>::value == false, "");
|
|
||||||
static_assert(is_same<int, decltype(v)>::value == false, "");
|
|
||||||
auto ac = c;
|
|
||||||
auto av = v;
|
|
||||||
auto sumi = ac + av + 'x';
|
|
||||||
auto sumf = ac + av + 1.0;
|
|
||||||
static_assert(is_same<int, decltype(ac)>::value == true, "");
|
|
||||||
static_assert(is_same<int, decltype(av)>::value == true, "");
|
|
||||||
static_assert(is_same<int, decltype(sumi)>::value == true, "");
|
|
||||||
static_assert(is_same<int, decltype(sumf)>::value == false, "");
|
|
||||||
static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
|
|
||||||
return (sumf > 0.0) ? sumi : add(c, v);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_noexcept
|
|
||||||
{
|
|
||||||
|
|
||||||
int f() { return 0; }
|
|
||||||
int g() noexcept { return 0; }
|
|
||||||
|
|
||||||
static_assert(noexcept(f()) == false, "");
|
|
||||||
static_assert(noexcept(g()) == true, "");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_constexpr
|
|
||||||
{
|
|
||||||
|
|
||||||
template < typename CharT >
|
|
||||||
unsigned long constexpr
|
|
||||||
strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
|
|
||||||
{
|
|
||||||
return *s ? strlen_c_r(s + 1, acc + 1) : acc;
|
|
||||||
}
|
|
||||||
|
|
||||||
template < typename CharT >
|
|
||||||
unsigned long constexpr
|
|
||||||
strlen_c(const CharT *const s) noexcept
|
|
||||||
{
|
|
||||||
return strlen_c_r(s, 0UL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static_assert(strlen_c("") == 0UL, "");
|
|
||||||
static_assert(strlen_c("1") == 1UL, "");
|
|
||||||
static_assert(strlen_c("example") == 7UL, "");
|
|
||||||
static_assert(strlen_c("another\0example") == 7UL, "");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_rvalue_references
|
|
||||||
{
|
|
||||||
|
|
||||||
template < int N >
|
|
||||||
struct answer
|
|
||||||
{
|
|
||||||
static constexpr int value = N;
|
|
||||||
};
|
|
||||||
|
|
||||||
answer<1> f(int&) { return answer<1>(); }
|
|
||||||
answer<2> f(const int&) { return answer<2>(); }
|
|
||||||
answer<3> f(int&&) { return answer<3>(); }
|
|
||||||
|
|
||||||
void
|
|
||||||
test()
|
|
||||||
{
|
|
||||||
int i = 0;
|
|
||||||
const int c = 0;
|
|
||||||
static_assert(decltype(f(i))::value == 1, "");
|
|
||||||
static_assert(decltype(f(c))::value == 2, "");
|
|
||||||
static_assert(decltype(f(0))::value == 3, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_uniform_initialization
|
|
||||||
{
|
|
||||||
|
|
||||||
struct test
|
|
||||||
{
|
|
||||||
static const int zero {};
|
|
||||||
static const int one {1};
|
|
||||||
};
|
|
||||||
|
|
||||||
static_assert(test::zero == 0, "");
|
|
||||||
static_assert(test::one == 1, "");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_lambdas
|
|
||||||
{
|
|
||||||
|
|
||||||
void
|
|
||||||
test1()
|
|
||||||
{
|
|
||||||
auto lambda1 = [](){};
|
|
||||||
auto lambda2 = lambda1;
|
|
||||||
lambda1();
|
|
||||||
lambda2();
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
test2()
|
|
||||||
{
|
|
||||||
auto a = [](int i, int j){ return i + j; }(1, 2);
|
|
||||||
auto b = []() -> int { return '0'; }();
|
|
||||||
auto c = [=](){ return a + b; }();
|
|
||||||
auto d = [&](){ return c; }();
|
|
||||||
auto e = [a, &b](int x) mutable {
|
|
||||||
const auto identity = [](int y){ return y; };
|
|
||||||
for (auto i = 0; i < a; ++i)
|
|
||||||
a += b--;
|
|
||||||
return x + identity(a + b);
|
|
||||||
}(0);
|
|
||||||
return a + b + c + d + e;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
test3()
|
|
||||||
{
|
|
||||||
const auto nullary = [](){ return 0; };
|
|
||||||
const auto unary = [](int x){ return x; };
|
|
||||||
using nullary_t = decltype(nullary);
|
|
||||||
using unary_t = decltype(unary);
|
|
||||||
const auto higher1st = [](nullary_t f){ return f(); };
|
|
||||||
const auto higher2nd = [unary](nullary_t f1){
|
|
||||||
return [unary, f1](unary_t f2){ return f2(unary(f1())); };
|
|
||||||
};
|
|
||||||
return higher1st(nullary) + higher2nd(nullary)(unary);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_variadic_templates
|
|
||||||
{
|
|
||||||
|
|
||||||
template <int...>
|
|
||||||
struct sum;
|
|
||||||
|
|
||||||
template <int N0, int... N1toN>
|
|
||||||
struct sum<N0, N1toN...>
|
|
||||||
{
|
|
||||||
static constexpr auto value = N0 + sum<N1toN...>::value;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct sum<>
|
|
||||||
{
|
|
||||||
static constexpr auto value = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
static_assert(sum<>::value == 0, "");
|
|
||||||
static_assert(sum<1>::value == 1, "");
|
|
||||||
static_assert(sum<23>::value == 23, "");
|
|
||||||
static_assert(sum<1, 2>::value == 3, "");
|
|
||||||
static_assert(sum<5, 5, 11>::value == 21, "");
|
|
||||||
static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
|
|
||||||
// Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
|
|
||||||
// because of this.
|
|
||||||
namespace test_template_alias_sfinae
|
|
||||||
{
|
|
||||||
|
|
||||||
struct foo {};
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
using member = typename T::member_type;
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
void func(...) {}
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
void func(member<T>*) {}
|
|
||||||
|
|
||||||
void test();
|
|
||||||
|
|
||||||
void test() { func<foo>(0); }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace cxx11
|
|
||||||
|
|
||||||
#endif // __cplusplus >= 201103L
|
|
||||||
|
|
||||||
]])
|
|
||||||
|
|
||||||
|
|
||||||
dnl Tests for new features in C++14
|
|
||||||
|
|
||||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
|
|
||||||
|
|
||||||
// If the compiler admits that it is not ready for C++14, why torture it?
|
|
||||||
// Hopefully, this will speed up the test.
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
|
||||||
|
|
||||||
#error "This is not a C++ compiler"
|
|
||||||
|
|
||||||
#elif __cplusplus < 201402L
|
|
||||||
|
|
||||||
#error "This is not a C++14 compiler"
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
namespace cxx14
|
|
||||||
{
|
|
||||||
|
|
||||||
namespace test_polymorphic_lambdas
|
|
||||||
{
|
|
||||||
|
|
||||||
int
|
|
||||||
test()
|
|
||||||
{
|
|
||||||
const auto lambda = [](auto&&... args){
|
|
||||||
const auto istiny = [](auto x){
|
|
||||||
return (sizeof(x) == 1UL) ? 1 : 0;
|
|
||||||
};
|
|
||||||
const int aretiny[] = { istiny(args)... };
|
|
||||||
return aretiny[0];
|
|
||||||
};
|
|
||||||
return lambda(1, 1L, 1.0f, '1');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_binary_literals
|
|
||||||
{
|
|
||||||
|
|
||||||
constexpr auto ivii = 0b0000000000101010;
|
|
||||||
static_assert(ivii == 42, "wrong value");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_generalized_constexpr
|
|
||||||
{
|
|
||||||
|
|
||||||
template < typename CharT >
|
|
||||||
constexpr unsigned long
|
|
||||||
strlen_c(const CharT *const s) noexcept
|
|
||||||
{
|
|
||||||
auto length = 0UL;
|
|
||||||
for (auto p = s; *p; ++p)
|
|
||||||
++length;
|
|
||||||
return length;
|
|
||||||
}
|
|
||||||
|
|
||||||
static_assert(strlen_c("") == 0UL, "");
|
|
||||||
static_assert(strlen_c("x") == 1UL, "");
|
|
||||||
static_assert(strlen_c("test") == 4UL, "");
|
|
||||||
static_assert(strlen_c("another\0test") == 7UL, "");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_lambda_init_capture
|
|
||||||
{
|
|
||||||
|
|
||||||
int
|
|
||||||
test()
|
|
||||||
{
|
|
||||||
auto x = 0;
|
|
||||||
const auto lambda1 = [a = x](int b){ return a + b; };
|
|
||||||
const auto lambda2 = [a = lambda1(x)](){ return a; };
|
|
||||||
return lambda2();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_digit_separators
|
|
||||||
{
|
|
||||||
|
|
||||||
constexpr auto ten_million = 100'000'000;
|
|
||||||
static_assert(ten_million == 100000000, "");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_return_type_deduction
|
|
||||||
{
|
|
||||||
|
|
||||||
auto f(int& x) { return x; }
|
|
||||||
decltype(auto) g(int& x) { return x; }
|
|
||||||
|
|
||||||
template < typename T1, typename T2 >
|
|
||||||
struct is_same
|
|
||||||
{
|
|
||||||
static constexpr auto value = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
template < typename T >
|
|
||||||
struct is_same<T, T>
|
|
||||||
{
|
|
||||||
static constexpr auto value = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
int
|
|
||||||
test()
|
|
||||||
{
|
|
||||||
auto x = 0;
|
|
||||||
static_assert(is_same<int, decltype(f(x))>::value, "");
|
|
||||||
static_assert(is_same<int&, decltype(g(x))>::value, "");
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace cxx14
|
|
||||||
|
|
||||||
#endif // __cplusplus >= 201402L
|
|
||||||
|
|
||||||
]])
|
|
||||||
|
|
||||||
|
|
||||||
dnl Tests for new features in C++17
|
|
||||||
|
|
||||||
m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
|
|
||||||
|
|
||||||
// If the compiler admits that it is not ready for C++17, why torture it?
|
|
||||||
// Hopefully, this will speed up the test.
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
|
||||||
|
|
||||||
#error "This is not a C++ compiler"
|
|
||||||
|
|
||||||
#elif __cplusplus <= 201402L
|
|
||||||
|
|
||||||
#error "This is not a C++17 compiler"
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#if defined(__clang__)
|
|
||||||
#define REALLY_CLANG
|
|
||||||
#else
|
|
||||||
#if defined(__GNUC__)
|
|
||||||
#define REALLY_GCC
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <initializer_list>
|
|
||||||
#include <utility>
|
|
||||||
#include <type_traits>
|
|
||||||
|
|
||||||
namespace cxx17
|
|
||||||
{
|
|
||||||
|
|
||||||
#if !defined(REALLY_CLANG)
|
|
||||||
namespace test_constexpr_lambdas
|
|
||||||
{
|
|
||||||
|
|
||||||
// TODO: test it with clang++ from git
|
|
||||||
|
|
||||||
constexpr int foo = [](){return 42;}();
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif // !defined(REALLY_CLANG)
|
|
||||||
|
|
||||||
namespace test::nested_namespace::definitions
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_fold_expression
|
|
||||||
{
|
|
||||||
|
|
||||||
template<typename... Args>
|
|
||||||
int multiply(Args... args)
|
|
||||||
{
|
|
||||||
return (args * ... * 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename... Args>
|
|
||||||
bool all(Args... args)
|
|
||||||
{
|
|
||||||
return (args && ...);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_extended_static_assert
|
|
||||||
{
|
|
||||||
|
|
||||||
static_assert (true);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_auto_brace_init_list
|
|
||||||
{
|
|
||||||
|
|
||||||
auto foo = {5};
|
|
||||||
auto bar {5};
|
|
||||||
|
|
||||||
static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
|
|
||||||
static_assert(std::is_same<int, decltype(bar)>::value);
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_typename_in_template_template_parameter
|
|
||||||
{
|
|
||||||
|
|
||||||
template<template<typename> typename X> struct D;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_fallthrough_nodiscard_maybe_unused_attributes
|
|
||||||
{
|
|
||||||
|
|
||||||
int f1()
|
|
||||||
{
|
|
||||||
return 42;
|
|
||||||
}
|
|
||||||
|
|
||||||
[[nodiscard]] int f2()
|
|
||||||
{
|
|
||||||
[[maybe_unused]] auto unused = f1();
|
|
||||||
|
|
||||||
switch (f1())
|
|
||||||
{
|
|
||||||
case 17:
|
|
||||||
f1();
|
|
||||||
[[fallthrough]];
|
|
||||||
case 42:
|
|
||||||
f1();
|
|
||||||
}
|
|
||||||
return f1();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_extended_aggregate_initialization
|
|
||||||
{
|
|
||||||
|
|
||||||
struct base1
|
|
||||||
{
|
|
||||||
int b1, b2 = 42;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct base2
|
|
||||||
{
|
|
||||||
base2() {
|
|
||||||
b3 = 42;
|
|
||||||
}
|
|
||||||
int b3;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct derived : base1, base2
|
|
||||||
{
|
|
||||||
int d;
|
|
||||||
};
|
|
||||||
|
|
||||||
derived d1 {{1, 2}, {}, 4}; // full initialization
|
|
||||||
derived d2 {{}, {}, 4}; // value-initialized bases
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_general_range_based_for_loop
|
|
||||||
{
|
|
||||||
|
|
||||||
struct iter
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
int& operator* ()
|
|
||||||
{
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
|
|
||||||
const int& operator* () const
|
|
||||||
{
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
|
|
||||||
iter& operator++()
|
|
||||||
{
|
|
||||||
++i;
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sentinel
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
};
|
|
||||||
|
|
||||||
bool operator== (const iter& i, const sentinel& s)
|
|
||||||
{
|
|
||||||
return i.i == s.i;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator!= (const iter& i, const sentinel& s)
|
|
||||||
{
|
|
||||||
return !(i == s);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct range
|
|
||||||
{
|
|
||||||
iter begin() const
|
|
||||||
{
|
|
||||||
return {0};
|
|
||||||
}
|
|
||||||
|
|
||||||
sentinel end() const
|
|
||||||
{
|
|
||||||
return {5};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
void f()
|
|
||||||
{
|
|
||||||
range r {};
|
|
||||||
|
|
||||||
for (auto i : r)
|
|
||||||
{
|
|
||||||
[[maybe_unused]] auto v = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_lambda_capture_asterisk_this_by_value
|
|
||||||
{
|
|
||||||
|
|
||||||
struct t
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int foo()
|
|
||||||
{
|
|
||||||
return [*this]()
|
|
||||||
{
|
|
||||||
return i;
|
|
||||||
}();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_enum_class_construction
|
|
||||||
{
|
|
||||||
|
|
||||||
enum class byte : unsigned char
|
|
||||||
{};
|
|
||||||
|
|
||||||
byte foo {42};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_constexpr_if
|
|
||||||
{
|
|
||||||
|
|
||||||
template <bool cond>
|
|
||||||
int f ()
|
|
||||||
{
|
|
||||||
if constexpr(cond)
|
|
||||||
{
|
|
||||||
return 13;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return 42;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace test_selection_statement_with_initializer
|
|
||||||
{
|
|
||||||
|
|
||||||
int f()
|
|
||||||
{
|
|
||||||
return 13;
|
|
||||||
}
|
|
||||||
|
|
||||||
int f2()
|
|
||||||
{
|
|
||||||
if (auto i = f(); i > 0)
|
|
||||||
{
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (auto i = f(); i + 4)
|
|
||||||
{
|
|
||||||
case 17:
|
|
||||||
return 2;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#if !defined(REALLY_CLANG)
|
|
||||||
namespace test_template_argument_deduction_for_class_templates
|
|
||||||
{
|
|
||||||
|
|
||||||
// TODO: test it with clang++ from git
|
|
||||||
|
|
||||||
template <typename T1, typename T2>
|
|
||||||
struct pair
|
|
||||||
{
|
|
||||||
pair (T1 p1, T2 p2)
|
|
||||||
: m1 {p1},
|
|
||||||
m2 {p2}
|
|
||||||
{}
|
|
||||||
|
|
||||||
T1 m1;
|
|
||||||
T2 m2;
|
|
||||||
};
|
|
||||||
|
|
||||||
void f()
|
|
||||||
{
|
|
||||||
[[maybe_unused]] auto p = pair{13, 42u};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif // !defined(REALLY_CLANG)
|
|
||||||
|
|
||||||
namespace test_non_type_auto_template_parameters
|
|
||||||
{
|
|
||||||
|
|
||||||
template <auto n>
|
|
||||||
struct B
|
|
||||||
{};
|
|
||||||
|
|
||||||
B<5> b1;
|
|
||||||
B<'a'> b2;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#if !defined(REALLY_CLANG)
|
|
||||||
namespace test_structured_bindings
|
|
||||||
{
|
|
||||||
|
|
||||||
// TODO: test it with clang++ from git
|
|
||||||
|
|
||||||
int arr[2] = { 1, 2 };
|
|
||||||
std::pair<int, int> pr = { 1, 2 };
|
|
||||||
|
|
||||||
auto f1() -> int(&)[2]
|
|
||||||
{
|
|
||||||
return arr;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto f2() -> std::pair<int, int>&
|
|
||||||
{
|
|
||||||
return pr;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct S
|
|
||||||
{
|
|
||||||
int x1 : 2;
|
|
||||||
volatile double y1;
|
|
||||||
};
|
|
||||||
|
|
||||||
S f3()
|
|
||||||
{
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
auto [ x1, y1 ] = f1();
|
|
||||||
auto& [ xr1, yr1 ] = f1();
|
|
||||||
auto [ x2, y2 ] = f2();
|
|
||||||
auto& [ xr2, yr2 ] = f2();
|
|
||||||
const auto [ x3, y3 ] = f3();
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif // !defined(REALLY_CLANG)
|
|
||||||
|
|
||||||
#if !defined(REALLY_CLANG)
|
|
||||||
namespace test_exception_spec_type_system
|
|
||||||
{
|
|
||||||
|
|
||||||
// TODO: test it with clang++ from git
|
|
||||||
|
|
||||||
struct Good {};
|
|
||||||
struct Bad {};
|
|
||||||
|
|
||||||
void g1() noexcept;
|
|
||||||
void g2();
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
Bad
|
|
||||||
f(T*, T*);
|
|
||||||
|
|
||||||
template<typename T1, typename T2>
|
|
||||||
Good
|
|
||||||
f(T1*, T2*);
|
|
||||||
|
|
||||||
static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif // !defined(REALLY_CLANG)
|
|
||||||
|
|
||||||
namespace test_inline_variables
|
|
||||||
{
|
|
||||||
|
|
||||||
template<class T> void f(T)
|
|
||||||
{}
|
|
||||||
|
|
||||||
template<class T> inline T g(T)
|
|
||||||
{
|
|
||||||
return T{};
|
|
||||||
}
|
|
||||||
|
|
||||||
template<> inline void f<>(int)
|
|
||||||
{}
|
|
||||||
|
|
||||||
template<> int g<>(int)
|
|
||||||
{
|
|
||||||
return 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace cxx17
|
|
||||||
|
|
||||||
#endif // __cplusplus <= 201402L
|
|
||||||
|
|
||||||
]])
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
# =============================================================================
|
|
||||||
# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
|
|
||||||
# =============================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# Check for baseline language coverage in the compiler for the C++11
|
|
||||||
# standard; if necessary, add switches to CXX and CXXCPP to enable
|
|
||||||
# support.
|
|
||||||
#
|
|
||||||
# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
|
|
||||||
# macro with the version set to C++11. The two optional arguments are
|
|
||||||
# forwarded literally as the second and third argument respectively.
|
|
||||||
# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
|
|
||||||
# more information. If you want to use this macro, you also need to
|
|
||||||
# download the ax_cxx_compile_stdcxx.m4 file.
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
|
|
||||||
# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
|
|
||||||
# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
|
|
||||||
# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
|
|
||||||
# Copyright (c) 2015 Paul Norman <penorman@mac.com>
|
|
||||||
# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
|
|
||||||
#
|
|
||||||
# Copying and distribution of this file, with or without modification, are
|
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
|
||||||
# warranty.
|
|
||||||
|
|
||||||
#serial 18
|
|
||||||
|
|
||||||
AX_REQUIRE_DEFINED([AX_CXX_COMPILE_STDCXX])
|
|
||||||
AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])])
|
|
||||||
@@ -1,135 +0,0 @@
|
|||||||
# ===========================================================================
|
|
||||||
# http://www.gnu.org/software/autoconf-archive/ax_pkg_swig.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# AX_PKG_SWIG([major.minor.micro], [action-if-found], [action-if-not-found])
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# This macro searches for a SWIG installation on your system. If found,
|
|
||||||
# then SWIG is AC_SUBST'd; if not found, then $SWIG is empty. If SWIG is
|
|
||||||
# found, then SWIG_LIB is set to the SWIG library path, and AC_SUBST'd.
|
|
||||||
#
|
|
||||||
# You can use the optional first argument to check if the version of the
|
|
||||||
# available SWIG is greater than or equal to the value of the argument. It
|
|
||||||
# should have the format: N[.N[.N]] (N is a number between 0 and 999. Only
|
|
||||||
# the first N is mandatory.) If the version argument is given (e.g.
|
|
||||||
# 1.3.17), AX_PKG_SWIG checks that the swig package is this version number
|
|
||||||
# or higher.
|
|
||||||
#
|
|
||||||
# As usual, action-if-found is executed if SWIG is found, otherwise
|
|
||||||
# action-if-not-found is executed.
|
|
||||||
#
|
|
||||||
# In configure.in, use as:
|
|
||||||
#
|
|
||||||
# AX_PKG_SWIG(1.3.17, [], [ AC_MSG_ERROR([SWIG is required to build..]) ])
|
|
||||||
# AX_SWIG_ENABLE_CXX
|
|
||||||
# AX_SWIG_MULTI_MODULE_SUPPORT
|
|
||||||
# AX_SWIG_PYTHON
|
|
||||||
#
|
|
||||||
# LICENSE
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de>
|
|
||||||
# Copyright (c) 2008 Alan W. Irwin
|
|
||||||
# Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net>
|
|
||||||
# Copyright (c) 2008 Andrew Collier
|
|
||||||
# Copyright (c) 2011 Murray Cumming <murrayc@openismus.com>
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License as published by the
|
|
||||||
# Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
# option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful, but
|
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
||||||
# Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License along
|
|
||||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
|
||||||
# gives unlimited permission to copy, distribute and modify the configure
|
|
||||||
# scripts that are the output of Autoconf when processing the Macro. You
|
|
||||||
# need not follow the terms of the GNU General Public License when using
|
|
||||||
# or distributing such scripts, even though portions of the text of the
|
|
||||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
|
||||||
# all other use of the material that constitutes the Autoconf Macro.
|
|
||||||
#
|
|
||||||
# This special exception to the GPL applies to versions of the Autoconf
|
|
||||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
|
||||||
# modified version of the Autoconf Macro, you may extend this special
|
|
||||||
# exception to the GPL to apply to your modified version as well.
|
|
||||||
|
|
||||||
#serial 11
|
|
||||||
|
|
||||||
AC_DEFUN([AX_PKG_SWIG],[
|
|
||||||
# Ubuntu has swig 2.0 as /usr/bin/swig2.0
|
|
||||||
AC_PATH_PROGS([SWIG],[swig swig2.0])
|
|
||||||
if test -z "$SWIG" ; then
|
|
||||||
m4_ifval([$3],[$3],[:])
|
|
||||||
elif test -n "$1" ; then
|
|
||||||
AC_MSG_CHECKING([SWIG version])
|
|
||||||
[swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`]
|
|
||||||
AC_MSG_RESULT([$swig_version])
|
|
||||||
if test -n "$swig_version" ; then
|
|
||||||
# Calculate the required version number components
|
|
||||||
[required=$1]
|
|
||||||
[required_major=`echo $required | sed 's/[^0-9].*//'`]
|
|
||||||
if test -z "$required_major" ; then
|
|
||||||
[required_major=0]
|
|
||||||
fi
|
|
||||||
[required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
|
|
||||||
[required_minor=`echo $required | sed 's/[^0-9].*//'`]
|
|
||||||
if test -z "$required_minor" ; then
|
|
||||||
[required_minor=0]
|
|
||||||
fi
|
|
||||||
[required=`echo $required | sed 's/[0-9]*[^0-9]//'`]
|
|
||||||
[required_patch=`echo $required | sed 's/[^0-9].*//'`]
|
|
||||||
if test -z "$required_patch" ; then
|
|
||||||
[required_patch=0]
|
|
||||||
fi
|
|
||||||
# Calculate the available version number components
|
|
||||||
[available=$swig_version]
|
|
||||||
[available_major=`echo $available | sed 's/[^0-9].*//'`]
|
|
||||||
if test -z "$available_major" ; then
|
|
||||||
[available_major=0]
|
|
||||||
fi
|
|
||||||
[available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
|
|
||||||
[available_minor=`echo $available | sed 's/[^0-9].*//'`]
|
|
||||||
if test -z "$available_minor" ; then
|
|
||||||
[available_minor=0]
|
|
||||||
fi
|
|
||||||
[available=`echo $available | sed 's/[0-9]*[^0-9]//'`]
|
|
||||||
[available_patch=`echo $available | sed 's/[^0-9].*//'`]
|
|
||||||
if test -z "$available_patch" ; then
|
|
||||||
[available_patch=0]
|
|
||||||
fi
|
|
||||||
# Convert the version tuple into a single number for easier comparison.
|
|
||||||
# Using base 100 should be safe since SWIG internally uses BCD values
|
|
||||||
# to encode its version number.
|
|
||||||
required_swig_vernum=`expr $required_major \* 10000 \
|
|
||||||
\+ $required_minor \* 100 \+ $required_patch`
|
|
||||||
available_swig_vernum=`expr $available_major \* 10000 \
|
|
||||||
\+ $available_minor \* 100 \+ $available_patch`
|
|
||||||
|
|
||||||
if test $available_swig_vernum -lt $required_swig_vernum; then
|
|
||||||
AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version.])
|
|
||||||
SWIG=''
|
|
||||||
m4_ifval([$3],[$3],[])
|
|
||||||
else
|
|
||||||
AC_MSG_CHECKING([for SWIG library])
|
|
||||||
SWIG_LIB=`$SWIG -swiglib`
|
|
||||||
AC_MSG_RESULT([$SWIG_LIB])
|
|
||||||
m4_ifval([$2],[$2],[])
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([cannot determine SWIG version])
|
|
||||||
SWIG=''
|
|
||||||
m4_ifval([$3],[$3],[])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AC_SUBST([SWIG_LIB])
|
|
||||||
])
|
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
F90=gfortran
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
$@ \
|
||||||
|
--enable-parallel \
|
||||||
|
--enable-fortran \
|
||||||
|
--enable-tools \
|
||||||
|
CC=cc CXX=CC FC=$F90 \
|
||||||
|
MPICC=cc MPICXX=CC MPIFC=ftn
|
||||||
|
sed -e 's/$F90/ftn/g' <Makefile > newMakefile
|
||||||
|
mv newMakefile Makefile
|
||||||
|
sed -e 's/$F90/ftn/g' <src/Makefile > newMakefile
|
||||||
|
mv newMakefile src/Makefile
|
||||||
|
sed -e 's/$F90/ftn/g' <test/Makefile > newMakefile
|
||||||
|
mv newMakefile test/Makefile
|
||||||
|
sed -e 's/$F90/ftn/g' <tools/Makefile > newMakefile
|
||||||
|
mv newMakefile tools/Makefile
|
||||||
|
|
||||||
@@ -1,165 +1,72 @@
|
|||||||
#
|
# Every configure script must call AC_INIT before doing anything else.
|
||||||
# Copyright (c) 2006-2018, The Regents of the University of California,
|
# AC_INIT (package, version, [bug-report], [tarname])
|
||||||
# through Lawrence Berkeley National Laboratory (subject to receipt of any
|
AC_INIT([H5Part], [1.6.3], [h5part@lists.psi.ch], H5Part)
|
||||||
# required approvals from the U.S. Dept. of Energy) and the Paul Scherrer
|
|
||||||
# Institut (Switzerland). All rights reserved.
|
# Ensure that a recent enough version of Autoconf is being used.
|
||||||
#
|
# If the version of Autoconf being used to create configure is earlier than version,
|
||||||
# License: see file COPYING in top level of source distribution.
|
# print an error message to the standard error output and do not create configure.
|
||||||
#
|
AC_PREREQ(2.59)
|
||||||
AC_INIT([H5hut], [2.0.0rc7], [h5part@lists.psi.ch], H5hut)
|
|
||||||
AC_PREREQ(2.60)
|
# should be called right after AC_INIT.
|
||||||
|
# configure scripts can create a C header file containing `#define' directives.
|
||||||
|
# The AC_CONFIG_HEADERS macro selects this kind of output.
|
||||||
AC_CONFIG_HEADERS(config.h)
|
AC_CONFIG_HEADERS(config.h)
|
||||||
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
LT_INIT
|
|
||||||
|
# AM_INIT_AUTOMAKE is required to use autoconf with automake
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
|
|
||||||
ENABLE_DEBUG='no'
|
BUILD_LIBS='libH5Part'
|
||||||
ENABLE_C='yes'
|
BUILD_TESTS='test'
|
||||||
ENABLE_FORTRAN='no'
|
|
||||||
ENABLE_PARALLEL='no'
|
|
||||||
ENABLE_PYTHON='no'
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# --enable-xxx and --with-xxx Arguments
|
################# --enable-xxx and --with-xxx Argument ########################
|
||||||
AC_ARG_ENABLE(
|
###############################################################################
|
||||||
[debug],
|
|
||||||
[AS_HELP_STRING([--enable-debug], [Compile with debug flags [default=no]])],
|
|
||||||
[ENABLE_DEBUG=$enableval])
|
|
||||||
AM_CONDITIONAL([ENABLE_DEBUG], [test "$ENABLE_DEBUG" = "yes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[c],
|
[debug],
|
||||||
[AS_HELP_STRING([--enable-c],
|
[AC_HELP_STRING([--enable-debug],
|
||||||
[Compile the C interface [default=yes]])],
|
[Compile with debug flags [default=no]])],
|
||||||
[ENABLE_C=$enableval])
|
[USE_DEBUG=$enableval])
|
||||||
AM_CONDITIONAL([ENABLE_C], [test "$ENABLE_C" = "yes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[fortran],
|
[fortran],
|
||||||
[AS_HELP_STRING([--enable-fortran],
|
[AC_HELP_STRING([--enable-fortran],
|
||||||
[Compile the Fortran interface [default=no]])],
|
[Compile the Fortran interface [default=no]])],
|
||||||
[ENABLE_FORTRAN=$enableval])
|
[USE_FORTRAN=$enableval])
|
||||||
AM_CONDITIONAL([ENABLE_FORTRAN], [test "$ENABLE_FORTRAN" = "yes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
|
||||||
[python],
|
|
||||||
[AS_HELP_STRING([--enable-python],
|
|
||||||
[Compile the Python interface [default=no]])],
|
|
||||||
[ENABLE_PYTHON=$enableval])
|
|
||||||
AM_CONDITIONAL([ENABLE_PYTHON], [test "$ENABLE_PYTHON" = "yes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[parallel],
|
[parallel],
|
||||||
[AS_HELP_STRING([--enable-parallel],
|
[AC_HELP_STRING([--enable-parallel],
|
||||||
[Compile the MPI/IO interface [default=no]])],
|
[Compile the MPI/IO interface [default=no]])],
|
||||||
[ENABLE_PARALLEL=$enableval])
|
[USE_PARALLEL=$enableval])
|
||||||
AM_CONDITIONAL([ENABLE_PARALLEL], [test "$ENABLE_PARALLEL" = "yes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[large-indices],
|
[tools],
|
||||||
[AC_HELP_STRING([--enable-large-indices],
|
[AC_HELP_STRING([--enable-tools],
|
||||||
[Compile with 64bit local IDs and indices [default=no]])],
|
[Compile h5part tools [default=no]])],
|
||||||
[USE_LARGE_INDICES=$enableval])
|
[USE_TOOLS=$enableval])
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
|
||||||
[experimental],
|
|
||||||
[AS_HELP_STRING([--enable-experimental],
|
|
||||||
[Compile experimental code [default=no]])],
|
|
||||||
[ENABLE_EXPERIMENTAL=$enableval])
|
|
||||||
AM_CONDITIONAL([ENABLE_EXPERIMENTAL], [test "$ENABLE_EXPERIMENTAL" = "yes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
|
||||||
[vtkconverter],
|
|
||||||
[AS_HELP_STRING([--enable-vtkconverter],
|
|
||||||
[Compile the vtk to H5hut converter for grids [default=no]])],
|
|
||||||
[ENABLE_VTKCONVERTER=$enableval])
|
|
||||||
AM_CONDITIONAL([ENABLE_VTKCONVERTER], [test "$ENABLE_VTKCONVERTER" = "yes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
|
||||||
[examples],
|
|
||||||
[AS_HELP_STRING([--enable-examples],
|
|
||||||
[Compile the H5hut examples [default=no]])],
|
|
||||||
[ENABLE_EXAMPLES=$enableval])
|
|
||||||
AM_CONDITIONAL([ENABLE_EXAMPLES], [test "$ENABLE_EXAMPLES" = "yes"])
|
|
||||||
|
|
||||||
AC_ARG_WITH(
|
AC_ARG_WITH(
|
||||||
[hdf5],
|
[hdf5],
|
||||||
[AS_HELP_STRING([--with-hdf5],
|
[AC_HELP_STRING([--with-hdf5],
|
||||||
[path to HDF5 installation [default=""]])],
|
[path to HDF5 installation [default=""]])],
|
||||||
[HDF5_PREFIX=$withval], [])
|
[HDF5PATH=$withval], [HDF5PATH=""])
|
||||||
|
|
||||||
AC_ARG_WITH(
|
###############################################################################
|
||||||
[mpi],
|
################# A SIMPLE WORK AROUND TO USE ENV. VARS #######################
|
||||||
[AS_HELP_STRING([--with-mpi],
|
###############################################################################
|
||||||
[path to MPI installation [default=""]])],
|
|
||||||
[PATH=$MPI_PREFIX/bin:$PATH])
|
|
||||||
|
|
||||||
AC_ARG_WITH(
|
|
||||||
[lustre],
|
|
||||||
[AS_HELP_STRING([--with-lustre],
|
|
||||||
[path to lustre user API [default=""]])],
|
|
||||||
[LUSTREPATH=$withval], [LUSTREPATH=""])
|
|
||||||
|
|
||||||
AC_ARG_WITH(
|
|
||||||
[parmetis],
|
|
||||||
[AC_HELP_STRING([--with-parmetis],
|
|
||||||
[path to ParMETIS API [default=""]])],
|
|
||||||
[PARMETIS_PREFIX=$withval], [])
|
|
||||||
|
|
||||||
AC_ARG_WITH(
|
|
||||||
[vtk],
|
|
||||||
[AC_HELP_STRING([--with-vtk],
|
|
||||||
[VTK installation path [default=""]])],
|
|
||||||
[VTK_PREFIX=$withval], [])
|
|
||||||
|
|
||||||
# Determine a C/C++ compiler to use.
|
|
||||||
if test "x$ENABLE_PARALLEL" = "xyes"; then
|
|
||||||
if test "x$MPICC" != "x"; then
|
|
||||||
CC=$MPICC
|
|
||||||
fi
|
|
||||||
if test "x$MPICXX" != "x"; then
|
|
||||||
CXX=$MPICXX
|
|
||||||
fi
|
|
||||||
if test "x$MPIFC" != "x"; then
|
|
||||||
FC=$MPIFC
|
|
||||||
else
|
|
||||||
FC=''
|
|
||||||
F77=''
|
|
||||||
F90=''
|
|
||||||
fi
|
|
||||||
c_compilers="mpicc cc"
|
|
||||||
cxx_compilers="mpic++ CC"
|
|
||||||
fc_compiler="mpif90 mpif77 mpifort"
|
|
||||||
else
|
|
||||||
c_compilers="pgcc pathcc icc gcc cc_r cc"
|
|
||||||
cxx_compilers="pgcc pathcc icc g++ cc_r c++"
|
|
||||||
fc_compiler="pgf90 ifort xlf_r pathf90 g95 g90 ftn gfortran"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_PROG_CC($c_compilers)
|
|
||||||
if test "x$ac_cv_prog_cc_c89" = "xno"; then
|
|
||||||
AC_MSG_ERROR([C compiler not found!])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_PROG_CXX($cxx_compilers)
|
|
||||||
|
|
||||||
if test "X$ENABLE_FORTRAN" = "Xyes"; then
|
|
||||||
AC_PROG_FC($fc_compiler)
|
|
||||||
if test "x$FC" = "x"; then
|
|
||||||
AC_MSG_ERROR([Fortran compiler not found!])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
CC=`which $CC`
|
|
||||||
CXX=`which $CXX`
|
|
||||||
FC=`which $FC`
|
|
||||||
|
|
||||||
AX_CXX_COMPILE_STDCXX_11
|
|
||||||
AC_PROG_CC_C99
|
|
||||||
if test "x$ac_cv_prog_cc_c99" = "xno"; then
|
|
||||||
AC_MSG_ERROR([Cannot set C compiler to use C99 standard!])
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
SAVE_CC=$CC
|
||||||
|
SAVE_CXX=$CXX
|
||||||
|
SAVE_FC=$FC
|
||||||
|
SAVE_CFLAGS=$CFLAGS
|
||||||
|
SAVE_CXXFLAGS=$CXXFLAGS
|
||||||
|
SAVE_FFLAGS=$FFLAGS
|
||||||
|
SAVE_INCLUDES=$INCLUDES
|
||||||
|
SAVE_LDFLAGS=$LDFLAGS
|
||||||
|
SAVE_LIBS=$LIBS
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
############### PATH SERACH FUNCTION - to be used later... ####################
|
############### PATH SERACH FUNCTION - to be used later... ####################
|
||||||
@@ -192,62 +99,45 @@ PATH_Search() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# MISC SETTINGS INCLUDING C & C++ COMPILER SETTING
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
############# MISC SETTINGS INCLUDING C & C++ COMPILER SETTING ################
|
||||||
|
###############################################################################
|
||||||
|
# Compute the canonical host-system type variable, host, and its three
|
||||||
|
# individual parts host_cpu, host_vendor, and host_os.
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
|
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
|
|
||||||
CFLAGS="$CFLAGS -Wall"
|
# Determine a C/C++ compiler to use.
|
||||||
CXXFLAGS="$CFLAGS -Wall"
|
# If CC is not already set in the environment, check for gcc and cc, then
|
||||||
FFLAGS="$FFLAGS -Wall"
|
# for other C compilers.
|
||||||
|
# Set output variable CC to the name of the compiler found.
|
||||||
# debug enabled?
|
if test "x$USE_PARALLEL" = "xyes"; then
|
||||||
AC_MSG_CHECKING([if debug is enabled])
|
CCOMPILERS="mpicc cc"
|
||||||
if test "X$ENABLE_DEBUG" = "Xyes"; then
|
CXXCOMPILERS="mpic++ mpicxx CC"
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
CFLAGS="$CFLAGS -g3 -O0"
|
|
||||||
CXXFLAGS="$CFLAGS -g3 -O0"
|
|
||||||
FFLAGS="$FFLAGS -g3 -O0"
|
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
CCOMPILERS="pgcc pathcc icc gcc cc_r cc"
|
||||||
CFLAGS="$CFLAGS -O3"
|
CXXCOMPILERS="pgCC pathCC icpc g++"
|
||||||
CXXFLAGS="$CFLAGS -O3"
|
|
||||||
FFLAGS="$FFLAGS -O3"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_PROG_CC($CCOMPILERS)
|
||||||
|
|
||||||
|
# Only need C++ for some of the tools
|
||||||
|
#if test "x$USE_TOOLS" = "xyes"; then
|
||||||
|
AC_PROG_CXX($CXXCOMPILERS)
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# Set output variable INSTALL to the path of a BSD-compatible install program,
|
||||||
|
# if one is found in the current PATH.
|
||||||
|
# Otherwise, set INSTALL to `dir/install-sh -c`
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_AWK
|
|
||||||
|
|
||||||
# Disable shared libraries by default: can be enabled with --enable-shared
|
AC_PROG_AWK
|
||||||
LT_INIT([disable-shared])
|
|
||||||
AC_PROG_LIBTOOL
|
|
||||||
|
|
||||||
# Default prefix for bindir, etc... (eg >> ./build/bin)
|
# Default prefix for bindir, etc... (eg >> ./build/bin)
|
||||||
AC_PREFIX_DEFAULT(`pwd`/build)
|
AC_PREFIX_DEFAULT(`pwd`/build)
|
||||||
|
|
||||||
# Checks for header files.
|
|
||||||
AC_CHECK_HEADERS([fcntl.h limits.h stdint.h stdlib.h string.h sys/ioctl.h unistd.h])
|
|
||||||
|
|
||||||
# Checks for typedefs, structures, and compiler characteristics.
|
|
||||||
AC_HEADER_STDBOOL
|
|
||||||
AC_C_INLINE
|
|
||||||
AC_TYPE_INT16_T
|
|
||||||
AC_TYPE_INT32_T
|
|
||||||
AC_TYPE_INT64_T
|
|
||||||
AC_TYPE_SIZE_T
|
|
||||||
AC_TYPE_SSIZE_T
|
|
||||||
AC_TYPE_UINT16_T
|
|
||||||
AC_TYPE_UINT32_T
|
|
||||||
AC_TYPE_UINT64_T
|
|
||||||
AC_CHECK_TYPES([ptrdiff_t])
|
|
||||||
|
|
||||||
# Checks for library functions.
|
|
||||||
AC_FUNC_MALLOC
|
|
||||||
AC_FUNC_REALLOC
|
|
||||||
AC_CHECK_FUNCS([memmove memset pow strchr strdup strerror strstr])
|
|
||||||
|
|
||||||
# AC_DEFINE_UNQUOTED (variable, value, [description])
|
# AC_DEFINE_UNQUOTED (variable, value, [description])
|
||||||
# Define the C preprocessor variable variable to value
|
# Define the C preprocessor variable variable to value
|
||||||
# Use this macro instead of AC_DEFINE when variable or value is a shell variable.
|
# Use this macro instead of AC_DEFINE when variable or value is a shell variable.
|
||||||
@@ -259,305 +149,268 @@ AC_DEFINE_UNQUOTED(MY_UNAME, "$uname", "")
|
|||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# PROCESS ARGUMENTS
|
######################## CONFIGURE LINE OPTIONS ###############################
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([if debug is enabled])
|
||||||
|
|
||||||
|
if test "X$USE_DEBUG" = "Xyes"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -g"
|
||||||
|
CXXFLAGS="$CXXFLAGS -g"
|
||||||
|
FFLAGS="$FFLAGS -g"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
############################ fortran enabled ##################################
|
||||||
|
AC_MSG_CHECKING([if fortran interface enabled])
|
||||||
|
if test "X$USE_FORTRAN" = "Xyes"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
LIB_FORTRAN="libH5PartF.la"
|
||||||
|
BUILD_LIBS="$BUILD_LIBS libH5PartF"
|
||||||
|
BUILD_TESTS="$BUILD_TESTS testf"
|
||||||
|
|
||||||
|
if test "X$USE_PARALLEL" = "Xyes"; then
|
||||||
|
AC_PROG_FC(mpif90 mpif77 ftn)
|
||||||
|
else
|
||||||
|
AC_PROG_FC(pgf90 pathf90 ifort ftn xlf_r g95 g90 gfortran)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$FC" ; then
|
||||||
|
AC_MSG_ERROR([Cannot find a Fortran compiler!])
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $FC = "g90"; then
|
||||||
|
FFLAGS="${FFLAGS} -fno-second-underscore"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $FC = "g95"; then
|
||||||
|
FFLAGS="${FFLAGS} -fno-second-underscore"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([symbol convention in object files])
|
||||||
|
`cd src && rm -f TestUnderscore.o TestUnderscoreC.o TestUnderscore`
|
||||||
|
`cd src && ${FC} ${FFLAGS} -c TestUnderscore.f`
|
||||||
|
`cd src && ${CC} ${CFLAGS} -c TestUnderscoreC.c`
|
||||||
|
`cd src && ${FC} ${FFLAGS} -o TestUnderscore TestUnderscore.o TestUnderscoreC.o`
|
||||||
|
|
||||||
|
if test -f src/TestUnderscore ; then
|
||||||
|
UNDERSCORE_H=Underscore.h
|
||||||
|
`cd src && ./TestUnderscore > Underscore.h`
|
||||||
|
AC_MSG_RESULT([ok])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([nok])
|
||||||
|
AC_MSG_ERROR([Cannot determine the symbon convention for Fortran object files!])
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Disable shared libraries by default: can be enabled with --enable-shared
|
||||||
|
LT_INIT([disable-shared])
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
|
||||||
|
|
||||||
|
######################## parallel interface enabled ###########################
|
||||||
|
AC_MSG_CHECKING([if parallel interface enabled])
|
||||||
|
if test "X$USE_PARALLEL" = "Xyes"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
|
||||||
|
CFLAGS="${CFLAGS} -DPARALLEL_IO -DMPICH_IGNORE_CXX_SEEK"
|
||||||
|
CXXFLAGS="${CXXFLAGS} -DPARALLEL_IO -DMPICH_IGNORE_CXX_SEEK"
|
||||||
|
FFLAGS="${FFLAGS} -DPARALLEL_IO"
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([if we can compile MPI code without setting flags])
|
||||||
|
AC_TRY_LINK([#include "mpi.h"], [
|
||||||
|
MPI_Comm comm;
|
||||||
|
int n;
|
||||||
|
MPI_Comm_size( comm, &n ); ],
|
||||||
|
[AC_MSG_RESULT([yes]); r='yes'], [AC_MSG_RESULT([no]); r='no'] )
|
||||||
|
|
||||||
|
if test "X$r" = "Xno"; then
|
||||||
|
AC_MSG_ERROR([MPI wrapper can't compile or link MPI program! Please set the INCLUDE and LIBS variables manually.])
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
else # --enable-parallel=no
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
######################## tools enabled ###########################
|
||||||
|
AC_MSG_CHECKING([whether tools are enabled])
|
||||||
|
if test "X$USE_TOOLS" = "Xyes"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
BUILD_TOOLS="h5pAttrib h5pToGNUplot homdynToH5p"
|
||||||
|
# tools + parallel
|
||||||
|
if test "X$USE_PARALLEL" = "Xyes"; then
|
||||||
|
BUILD_TOOLS="${BUILD_TOOLS} H5PartBench H5BlockBench"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# check libraries
|
######################### PATH CHECKING & SETTING #############################
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
AC_CHECK_LIB([z], [compress2])
|
AC_MSG_CHECKING([for HDF5 root ])
|
||||||
|
|
||||||
# hdf5
|
|
||||||
if test -z "${HDF5_PREFIX}"; then
|
|
||||||
# alternatives to HDF5_PREFIX
|
|
||||||
if test -n "${HDF5_DIR}"; then
|
|
||||||
HDF5_PREFIX=${HDF5_DIR}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test -n "${HDF5_PREFIX}"; then
|
|
||||||
CPPFLAGS="$CPPFLAGS -I$HDF5_PREFIX/include"
|
|
||||||
LDFLAGS="$LDFLAGS -L$HDF5_PREFIX/lib"
|
|
||||||
fi
|
|
||||||
AC_CHECK_LIB([hdf5], [H5open])
|
|
||||||
AS_IF([test "x$ac_cv_lib_hdf5_H5open" != xyes],
|
|
||||||
[AC_MSG_ERROR([Cannot compile and link a HDF5 program])])
|
|
||||||
AC_MSG_CHECKING([checking whether hdf5 lib supports parallel IO])
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
||||||
#include "hdf5.h"
|
|
||||||
#ifndef H5_HAVE_PARALLEL
|
|
||||||
# error macro not defined
|
|
||||||
#endif
|
|
||||||
]])], [H5_HAVE_PARALLEL="yes"], [H5_HAVE_PARALLEL="no"])
|
|
||||||
AC_MSG_RESULT([$H5_HAVE_PARALLEL])
|
|
||||||
|
|
||||||
# lustre
|
|
||||||
AC_MSG_CHECKING([for lustre API ])
|
|
||||||
AC_MSG_RESULT([])
|
AC_MSG_RESULT([])
|
||||||
if test -n "${LUSTREPATH}"; then
|
if test -n "${HDF5PATH}" ; then
|
||||||
P=${LUSTREPATH}
|
P=${HDF5PATH}
|
||||||
elif test -n "${LUSTREROOT}" ; then
|
elif test -n "${HDF5ROOT}"; then
|
||||||
P=${LUSTREROOT}
|
P=${HDF5ROOT}
|
||||||
elif test -n "${LUSTREHOME}" ; then
|
elif test -n "${HDF5HOME}" ; then
|
||||||
P=${LUSTREHOME}
|
P=${HDF5HOME}
|
||||||
elif test -n "${LUSTRE_DIR}" ; then
|
elif test -n "${HDF5_DIR}" ; then
|
||||||
P=${LUSTRE_DIR}
|
P=${HDF5_DIR}
|
||||||
else
|
else
|
||||||
P=''
|
P=''
|
||||||
P="$P /usr"
|
P="$P /usr"
|
||||||
P="$P /usr/local"
|
P="$P /usr/local"
|
||||||
P="$P /usr/local/lustre"
|
P="$P /usr/local/hdf5"
|
||||||
P="$P /opt/lustre"
|
P="$P /usr/local/packages/hdf5"
|
||||||
|
P="$P /apps/hdf5"
|
||||||
|
P="$P /opt/hdf5"
|
||||||
fi
|
fi
|
||||||
PATH_Search LUSTREROOT "$P" usr/include/lustre/liblustreapi.h
|
PATH_Search HDF5ROOT "$P" include/hdf5.h
|
||||||
if test -z "$LUSTREROOT"; then
|
if test -z "$HDF5ROOT"; then
|
||||||
AC_MSG_WARN([Couldn't locate the lustre API... building without support for lustre striping!])
|
AC_MSG_ERROR([Cannot find an HDF5 library!])
|
||||||
else
|
exit 1
|
||||||
CFLAGS="$CFLAGS -DH5_USE_LUSTRE"
|
|
||||||
CPPFLAGS="$CPPFLAGS -I$LUSTREROOT/usr/include"
|
|
||||||
LDFLAGS="$LDFLAGS -L$LUSTREROOT/usr/lib"
|
|
||||||
LIBS="$LIBS -llustreapi"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LIBS="$LIBS -lm"
|
INCLUDES="$INCLUDES -I$HDF5ROOT/include"
|
||||||
|
LDFLAGS="$LDFLAGS -L$HDF5ROOT/lib"
|
||||||
|
LIBS="$LIBS -lhdf5"
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([if we need to link to libsz ])
|
||||||
|
if test -n "$HDF5ROOT"; then
|
||||||
############################ enabled bindings ###############################
|
if test -f $HDF5ROOT/lib/libsz.a; then
|
||||||
|
|
||||||
# C enabled?
|
|
||||||
AC_MSG_CHECKING([if C interface enabled])
|
|
||||||
if test "X$ENABLE_C" = "Xyes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
fi
|
|
||||||
|
|
||||||
# fortran enabled?
|
|
||||||
AC_MSG_CHECKING([if fortran interface enabled])
|
|
||||||
if test "X$ENABLE_FORTRAN" = "Xyes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
AC_LANG_PUSH(Fortran)
|
|
||||||
|
|
||||||
# Query Fortran symbol mangling. __AC_FC_NAME_MANGLING sets
|
|
||||||
# ac_cv_{f77,fc}_mangling. The value contains three fields, separated
|
|
||||||
# by commas:
|
|
||||||
#
|
|
||||||
# lower case / upper case:
|
|
||||||
# case translation of the Fortran symbols
|
|
||||||
# underscore / no underscore:
|
|
||||||
# whether the compiler appends "_" to symbol names
|
|
||||||
# extra underscore / no extra underscore:
|
|
||||||
# whether the compiler appends an extra "_" to symbol names already
|
|
||||||
# containing at least one underscore
|
|
||||||
__AC_FC_NAME_MANGLING
|
|
||||||
if test "X${ac_cv_fc_mangling}" == "Xlower case, no underscore, no extra underscore"; then
|
|
||||||
CPPFLAGS+=" -DFC_MANGLING_LOWERCASE_NO_UNDERSCORE"
|
|
||||||
elif test "X${ac_cv_fc_mangling}" == "Xlower case, underscore, no extra underscore"; then
|
|
||||||
CPPFLAGS+=" -DFC_MANGLING_LOWERCASE_SINGLE_UNDERSCORE"
|
|
||||||
elif test "X${ac_cv_fc_mangling}" == "Xlower case, underscore, extra underscore"; then
|
|
||||||
CPPFLAGS+=" -DFC_MANGLING_LOWERCASE_DOUBLE_UNDERSCORE"
|
|
||||||
elif test "X${ac_cv_fc_mangling}" == "Xupper case, no underscore, no extra underscore"; then
|
|
||||||
CPPFLAGS+=" -DFC_MANGLING_UPPERCASE_NO_UNDERSCORE"
|
|
||||||
elif test "X${ac_cv_fc_mangling}" == "Xupper case, underscore, no extra underscore"; then
|
|
||||||
CPPFLAGS+=" -DFC_MANGLING_UPPERCASE_SINGLE_UNDERSCORE"
|
|
||||||
elif test "X${ac_cv_fc_mangling}" == "Xupper case, underscore, extra underscore"; then
|
|
||||||
CPPFLAGS+=" -DFC_MANGLING_UPPERCASE_DOUBLE_UNDERSCORE"
|
|
||||||
fi
|
|
||||||
AC_LANG_POP(Fortran)
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
fi
|
|
||||||
|
|
||||||
# python enabled?
|
|
||||||
if test "X$ENABLE_PYTHON" = "Xyes"; then
|
|
||||||
|
|
||||||
AM_PATH_PYTHON([2.5])
|
|
||||||
AX_PKG_SWIG([1.3], [], [ AC_MSG_ERROR([SWIG is required to build..]) ])
|
|
||||||
#SWIG_ENABLE_CXX
|
|
||||||
#SWIG_PYTHON
|
|
||||||
|
|
||||||
PYTHON_PREFIX=`python-config --prefix`
|
|
||||||
PYTHON_EXEC_PREFIX=`python-config --exec-prefix`
|
|
||||||
|
|
||||||
# make sure numpy is available..
|
|
||||||
AC_MSG_CHECKING([for numpy support])
|
|
||||||
NUMPY_INCLUDE=`${PYTHON} -c 'import numpy; print numpy.get_include()'`
|
|
||||||
|
|
||||||
if test "X$?" = "X0" ; then
|
|
||||||
AC_MSG_RESULT([$NUMPY_INCLUDE])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
AC_SUBST([NUMPY_INCLUDE])
|
|
||||||
|
|
||||||
#check for parallel support
|
|
||||||
if test "X$ENABLE_PARALLEL" = "Xyes"; then
|
|
||||||
AC_MSG_CHECKING([for mpi4py support])
|
|
||||||
MPI4PY_INCLUDE=`${PYTHON} -c 'import mpi4py; print mpi4py.get_include()'`
|
|
||||||
|
|
||||||
if test "X$?" = "X0" ; then
|
|
||||||
AC_MSG_RESULT([$MPI4PY_INCLUDE])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
AC_SUBST([MPI4PY_INCLUDE])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_RESULT([ok])
|
|
||||||
|
|
||||||
else
|
|
||||||
AC_MSG_CHECKING([if python interface is enabled])
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
fi
|
|
||||||
|
|
||||||
######################## large indices enabled ###########################
|
|
||||||
AC_MSG_CHECKING([if large indices are enabled])
|
|
||||||
if test "X$USE_LARGE_INDICES" = "Xyes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
CFLAGS="${CFLAGS} -DUSE_LARGE_INDICES"
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
fi
|
|
||||||
|
|
||||||
######################## parallel interface enabled ###########################
|
|
||||||
AC_MSG_CHECKING([if parallel interface enabled])
|
|
||||||
if test "X$ENABLE_PARALLEL" = "Xyes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
|
|
||||||
AS_IF([test "x$H5_HAVE_PARALLEL" = "xno"],
|
|
||||||
[AC_MSG_ERROR([hdf5 does not support parallel IO!])])
|
|
||||||
|
|
||||||
if test "X$ENABLE_VTKCONVERTER" = "Xyes"; then
|
|
||||||
AC_MSG_ERROR([VTK to H5hut grid converter cannot be compiled parallel!])
|
|
||||||
fi
|
|
||||||
CPPFLAGS="${CPPFLAGS} -DPARALLEL_IO -DMPICH_IGNORE_CXX_SEEK"
|
|
||||||
|
|
||||||
if test "X$ENABLE_EXPERIMENTAL" = "Xyes"; then
|
|
||||||
CPPFLAGS="$CPPFLAGS -DWITH_PARALLEL_H5GRID"
|
|
||||||
AC_MSG_CHECKING([for ParMETIS])
|
|
||||||
if test "X$PARMETIS_PREFIX" != "X"; then
|
|
||||||
CPPFLAGS="$CPPFLAGS -I$PARMETIS_PREFIX/include"
|
|
||||||
LDFLAGS="$LDFLAGS -L$PARMETIS_PREFIX/lib"
|
|
||||||
fi
|
|
||||||
|
|
||||||
LIBS="$LIBS -lparmetis -lmetis"
|
|
||||||
AC_TRY_LINK([#include <parmetis.h>], [
|
|
||||||
ParMETIS_V3_PartGeom (NULL, NULL, NULL, NULL, NULL);],
|
|
||||||
[AC_MSG_RESULT([yes]); r='yes'], [AC_MSG_RESULT([no]); r='no'] )
|
|
||||||
|
|
||||||
if test "X$r" = "Xno"; then
|
|
||||||
AC_MSG_ERROR([ParMETIS])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else # --enable-parallel=no
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
AS_IF([test "x$H5_HAVE_PARALLEL" = "xyes"],
|
|
||||||
[AC_MSG_ERROR([hdf5 with support for parallel IO cannot be used for non-parallel H5hut!])])
|
|
||||||
fi
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# TOOLS
|
|
||||||
AC_MSG_CHECKING([if we have to compile the VTK to H5hut grid converter])
|
|
||||||
if test "X$ENABLE_VTKCONVERTER" = "Xyes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
if test -n "$VTK_PREFIX"; then
|
|
||||||
SAVE_C_INCLUDE_PATH="$C_INCLUDE_PATH"
|
|
||||||
SAVE_CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH"
|
|
||||||
SAVE_LIBRARY_PATH="$LIBRARY_PATH"
|
|
||||||
C_INCLUDE_PATH="$C_INCLUDE_PATH $VTK_PREFIX/include"
|
|
||||||
CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH $VTK_PREFIX/include"
|
|
||||||
LIBRARY_PATH="$LIBRARY_PATH $VTK_PREFIX/lib"
|
|
||||||
fi
|
|
||||||
AC_MSG_CHECKING([VTK inlcude files])
|
|
||||||
VTK_INCLUDES=`cmake --find-package -DNAME=VTK -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=COMPILE 2>/dev/null`
|
|
||||||
if test "X$?" != "X0"; then
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
AC_MSG_ERROR([Cannot compile VTK to H5hut converter])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
fi
|
LDFLAGS="$LDFLAGS -L$HDF5ROOT/lib"
|
||||||
AC_MSG_CHECKING([VTK libraries])
|
LIBS="$LIBS -lsz"
|
||||||
VTK_LIBS=`cmake --find-package -DNAME=VTK -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=LINK 2>/dev/null`
|
|
||||||
if test "X$?" != "X0"; then
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
AC_MSG_ERROR([Cannot compile VTK to H5hut converter]);
|
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([no])
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
else
|
LIBS="$LIBS -lz -lm"
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
|
|
||||||
|
# Checks for header files.
|
||||||
|
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
|
||||||
|
|
||||||
|
# Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_HEADER_STDBOOL
|
||||||
|
AC_TYPE_INT64_T
|
||||||
|
AC_TYPE_SIZE_T
|
||||||
|
AC_TYPE_SSIZE_T
|
||||||
|
|
||||||
|
# Checks for library functions.
|
||||||
|
AC_FUNC_MALLOC
|
||||||
|
AC_CHECK_FUNCS([memset pow strchr strdup])
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
################# A SIMPLE WORK AROUND TO USE ENV. VARS #######################
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
#if there was an external input for the variable...
|
||||||
|
if test -n "$SAVE_CC"; then
|
||||||
|
CC="$SAVE_CC"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_CXX"; then
|
||||||
|
CXX="$SAVE_CXX"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_FC"; then
|
||||||
|
FC="$SAVE_FC"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_CFLAGS"; then
|
||||||
|
CFLAGS="$SAVE_CFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_CXXFLAGS"; then
|
||||||
|
CFLAGS="$SAVE_CXXFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_FFLAGS"; then
|
||||||
|
FFLAGS="$SAVE_FFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_INCLUDES"; then
|
||||||
|
INCLUDES="$SAVE_INCLUDES"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_LDFLAGS"; then
|
||||||
|
LDFLAGS="$SAVE_LDFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_LIBS"; then
|
||||||
|
LIBS="$SAVE_LIBS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# EXAMPLES
|
############## EXPORTING VARIABLES & CREATING OUTPUT FILES ####################
|
||||||
AC_MSG_CHECKING([if we have to compile the H5hut examples])
|
|
||||||
if test "X$ENABLE_EXAMPLES" = "Xyes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
fi
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# EXPORTING VARIABLES & CREATING OUTPUT FILES
|
# AC_SUBST (variable, [value])
|
||||||
AM_CPPFLAGS=$CPPFLAGS
|
# Create an output variable from a shell variable. Make AC_OUTPUT substitute
|
||||||
AM_LDFLAGS=$LDFLAGS
|
# the variable variable into output files (typically one or more `Makefile's).
|
||||||
|
# This means that AC_OUTPUT will replace instances of `@variable@' in input
|
||||||
AC_SUBST(HDF5_PREFIX)
|
# files with the value that the shell variable variable has when AC_OUTPUT is
|
||||||
|
# called. This value of variable should not contain literal newlines. If
|
||||||
|
# value is given, in addition assign it to variable.
|
||||||
AC_SUBST(CFLAGS)
|
AC_SUBST(CFLAGS)
|
||||||
|
AC_SUBST(CXXFLAGS)
|
||||||
AC_SUBST(FFLAGS)
|
AC_SUBST(FFLAGS)
|
||||||
AC_SUBST(AM_CPPFLAGS)
|
AC_SUBST(INCLUDES)
|
||||||
AC_SUBST(AM_LDFLAGS)
|
AC_SUBST(LDFLAGS)
|
||||||
AC_SUBST(VTK_INCLUDES)
|
AC_SUBST(LIBS)
|
||||||
AC_SUBST(VTK_LIBS)
|
AC_SUBST(UNDERSCORE_H)
|
||||||
|
AC_SUBST(LIB_FORTRAN)
|
||||||
|
AC_SUBST(BUILD_TESTS)
|
||||||
|
AC_SUBST(BUILD_TOOLS)
|
||||||
|
|
||||||
|
# Make AC_OUTPUT create each `file' by copying an input file (by default `file.in'),
|
||||||
|
# substituting the output variable values.
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
src/Makefile
|
src/Makefile
|
||||||
src/h5core/Makefile
|
doc/Makefile
|
||||||
src/include/Makefile
|
|
||||||
src/include/h5core/Makefile
|
|
||||||
src/C/Makefile
|
|
||||||
src/Fortran/Makefile
|
|
||||||
src/Python/Makefile
|
|
||||||
test/Makefile
|
test/Makefile
|
||||||
doc/Makefile
|
|
||||||
tools/Makefile
|
tools/Makefile
|
||||||
tools/h5hutcc
|
|
||||||
tools/vtk2h5grid/Makefile
|
|
||||||
examples/H5/Makefile
|
|
||||||
examples/H5Part/Makefile
|
|
||||||
examples/H5Block/Makefile
|
|
||||||
examples/H5Fed/Makefile
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# PRINTING SUMMARY
|
########################## PRINTING SUMMARY ###################################
|
||||||
|
###############################################################################
|
||||||
AC_MSG_RESULT([ ])
|
AC_MSG_RESULT([ ])
|
||||||
AC_MSG_RESULT([Summary:])
|
AC_MSG_RESULT([Summary:])
|
||||||
AC_MSG_RESULT([ ])
|
AC_MSG_RESULT([ ])
|
||||||
AC_MSG_RESULT([Host OS: $host_os])
|
AC_MSG_RESULT([Host OS: $host_os])
|
||||||
AC_MSG_RESULT([Host CPU: $host_cpu])
|
AC_MSG_RESULT([Host CPU: $host_cpu])
|
||||||
AC_MSG_RESULT([Host vendor: $host_vendor])
|
AC_MSG_RESULT([Host vendor: $host_vendor])
|
||||||
|
AC_MSG_RESULT([Build libraries: $BUILD_LIBS])
|
||||||
|
AC_MSG_RESULT([Build test programs: $BUILD_TESTS])
|
||||||
|
AC_MSG_RESULT([Build tools: $BUILD_TOOLS])
|
||||||
AC_MSG_RESULT([CC = $CC])
|
AC_MSG_RESULT([CC = $CC])
|
||||||
AC_MSG_RESULT([CXX = $CXX])
|
AC_MSG_RESULT([CXX = $CXX])
|
||||||
AC_MSG_RESULT([FC = $FC])
|
AC_MSG_RESULT([FC = $FC])
|
||||||
AC_MSG_RESULT([CFLAGS = $CFLAGS])
|
AC_MSG_RESULT([CFLAGS = $CFLAGS])
|
||||||
|
AC_MSG_RESULT([CXXFLAGS = $CXXFLAGS])
|
||||||
AC_MSG_RESULT([FFLAGS = $FFLAGS])
|
AC_MSG_RESULT([FFLAGS = $FFLAGS])
|
||||||
AC_MSG_RESULT([AM_CPPFLAGS = $AM_CPPFLAGS])
|
AC_MSG_RESULT([INCLUDES = $INCLUDES])
|
||||||
AC_MSG_RESULT([AM_LDFLAGS = $AM_LDFLAGS])
|
AC_MSG_RESULT([LDFLAGS = $LDFLAGS])
|
||||||
AC_MSG_RESULT([LIBS = $LIBS])
|
AC_MSG_RESULT([LIBS = $LIBS])
|
||||||
AC_MSG_RESULT([HDF5_PREFIX = $HDF5_PREFIX])
|
AC_MSG_RESULT([HDF5ROOT = $HDF5ROOT])
|
||||||
AC_MSG_RESULT([LUSTREROOT = $LUSTREROOT])
|
|
||||||
|
|
||||||
if test "x$ENABLE_PYTHON" = "xyes"; then
|
|
||||||
AC_MSG_RESULT([PYTHON = $PYTHON])
|
|
||||||
AC_MSG_RESULT([SWIG = $SWIG])
|
|
||||||
AC_MSG_RESULT([NUMPY_INCLUDE = $NUMPY_INCLUDE])
|
|
||||||
if test "x$ENABLE_PARALLEL" = "xyes"; then
|
|
||||||
AC_MSG_RESULT([MPI4PY_INCLUDE = $MPI4PY_INCLUDE])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AC_MSG_RESULT([ ])
|
AC_MSG_RESULT([ ])
|
||||||
|
|||||||
@@ -0,0 +1,529 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
|
scriptversion=2005-02-09.22
|
||||||
|
|
||||||
|
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
'')
|
||||||
|
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||||
|
exit 1;
|
||||||
|
;;
|
||||||
|
-h | --h*)
|
||||||
|
cat <<\EOF
|
||||||
|
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||||
|
|
||||||
|
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||||
|
as side-effects.
|
||||||
|
|
||||||
|
Environment variables:
|
||||||
|
depmode Dependency tracking mode.
|
||||||
|
source Source file read by `PROGRAMS ARGS'.
|
||||||
|
object Object file output by `PROGRAMS ARGS'.
|
||||||
|
DEPDIR directory where to store dependencies.
|
||||||
|
depfile Dependency file to output.
|
||||||
|
tmpdepfile Temporary file to use when outputing dependencies.
|
||||||
|
libtool Whether libtool is used (yes/no).
|
||||||
|
|
||||||
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
|
EOF
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
-v | --v*)
|
||||||
|
echo "depcomp $scriptversion"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||||
|
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||||
|
depfile=${depfile-`echo "$object" |
|
||||||
|
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||||
|
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||||
|
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
|
||||||
|
# Some modes work just like other modes, but use different flags. We
|
||||||
|
# parameterize here, but still list the modes in the big case below,
|
||||||
|
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||||
|
# here, because this file can only contain one case statement.
|
||||||
|
if test "$depmode" = hp; then
|
||||||
|
# HP compiler uses -M and no extra arg.
|
||||||
|
gccflag=-M
|
||||||
|
depmode=gcc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$depmode" = dashXmstdout; then
|
||||||
|
# This is just like dashmstdout with a different argument.
|
||||||
|
dashmflag=-xM
|
||||||
|
depmode=dashmstdout
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$depmode" in
|
||||||
|
gcc3)
|
||||||
|
## gcc 3 implements dependency tracking that does exactly what
|
||||||
|
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||||
|
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||||
|
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
mv "$tmpdepfile" "$depfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
gcc)
|
||||||
|
## There are various ways to get dependency output from gcc. Here's
|
||||||
|
## why we pick this rather obscure method:
|
||||||
|
## - Don't want to use -MD because we'd like the dependencies to end
|
||||||
|
## up in a subdir. Having to rename by hand is ugly.
|
||||||
|
## (We might end up doing this anyway to support other compilers.)
|
||||||
|
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||||
|
## -MM, not -M (despite what the docs say).
|
||||||
|
## - Using -M directly means running the compiler twice (even worse
|
||||||
|
## than renaming).
|
||||||
|
if test -z "$gccflag"; then
|
||||||
|
gccflag=-MD,
|
||||||
|
fi
|
||||||
|
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||||
|
## The second -e expression handles DOS-style file names with drive letters.
|
||||||
|
sed -e 's/^[^:]*: / /' \
|
||||||
|
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||||
|
## This next piece of magic avoids the `deleted header file' problem.
|
||||||
|
## The problem is that when a header file which appears in a .P file
|
||||||
|
## is deleted, the dependency causes make to die (because there is
|
||||||
|
## typically no way to rebuild the header). We avoid this by adding
|
||||||
|
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||||
|
## this for us directly.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" |
|
||||||
|
## Some versions of gcc put a space before the `:'. On the theory
|
||||||
|
## that the space means something, we add a space to the output as
|
||||||
|
## well.
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
hp)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
sgi)
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||||
|
else
|
||||||
|
"$@" -MDupdate "$tmpdepfile"
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
|
||||||
|
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
|
||||||
|
# Clip off the initial element (the dependent). Don't try to be
|
||||||
|
# clever and replace this with sed code, as IRIX sed won't handle
|
||||||
|
# lines with more than a fixed number of characters (4096 in
|
||||||
|
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||||
|
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||||
|
# dependency line.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||||
|
tr '
|
||||||
|
' ' ' >> $depfile
|
||||||
|
echo >> $depfile
|
||||||
|
|
||||||
|
# The second pass generates a dummy entry for each header file.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||||
|
>> $depfile
|
||||||
|
else
|
||||||
|
# The sourcefile does not contain any dependencies, so just
|
||||||
|
# store a dummy comment line, to avoid errors with the Makefile
|
||||||
|
# "include basename.Plo" scheme.
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
aix)
|
||||||
|
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||||
|
# in a .u file. In older versions, this file always lives in the
|
||||||
|
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||||
|
# start of each line; $object doesn't have directory information.
|
||||||
|
# Version 6 uses the directory in both cases.
|
||||||
|
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||||
|
tmpdepfile="$stripped.u"
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
"$@" -Wc,-M
|
||||||
|
else
|
||||||
|
"$@" -M
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
|
||||||
|
if test -f "$tmpdepfile"; then :
|
||||||
|
else
|
||||||
|
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||||
|
tmpdepfile="$stripped.u"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
outname="$stripped.o"
|
||||||
|
# Each line is of the form `foo.o: dependent.h'.
|
||||||
|
# Do two passes, one to just change these to
|
||||||
|
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||||
|
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||||
|
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
# The sourcefile does not contain any dependencies, so just
|
||||||
|
# store a dummy comment line, to avoid errors with the Makefile
|
||||||
|
# "include basename.Plo" scheme.
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
icc)
|
||||||
|
# Intel's C compiler understands `-MD -MF file'. However on
|
||||||
|
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||||
|
# ICC 7.0 will fill foo.d with something like
|
||||||
|
# foo.o: sub/foo.c
|
||||||
|
# foo.o: sub/foo.h
|
||||||
|
# which is wrong. We want:
|
||||||
|
# sub/foo.o: sub/foo.c
|
||||||
|
# sub/foo.o: sub/foo.h
|
||||||
|
# sub/foo.c:
|
||||||
|
# sub/foo.h:
|
||||||
|
# ICC 7.1 will output
|
||||||
|
# foo.o: sub/foo.c sub/foo.h
|
||||||
|
# and will wrap long lines using \ :
|
||||||
|
# foo.o: sub/foo.c ... \
|
||||||
|
# sub/foo.h ... \
|
||||||
|
# ...
|
||||||
|
|
||||||
|
"$@" -MD -MF "$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
# Each line is of the form `foo.o: dependent.h',
|
||||||
|
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||||
|
# Do two passes, one to just change these to
|
||||||
|
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||||
|
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||||
|
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
# correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||||
|
sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
tru64)
|
||||||
|
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||||
|
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||||
|
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||||
|
# dependencies in `foo.d' instead, so we check for that too.
|
||||||
|
# Subdirectories are respected.
|
||||||
|
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||||
|
test "x$dir" = "x$object" && dir=
|
||||||
|
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||||
|
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
# With Tru64 cc, shared objects can also be used to make a
|
||||||
|
# static library. This mecanism is used in libtool 1.4 series to
|
||||||
|
# handle both shared and static libraries in a single compilation.
|
||||||
|
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||||
|
#
|
||||||
|
# With libtool 1.5 this exception was removed, and libtool now
|
||||||
|
# generates 2 separate objects for the 2 libraries. These two
|
||||||
|
# compilations output dependencies in in $dir.libs/$base.o.d and
|
||||||
|
# in $dir$base.o.d. We have to check for both files, because
|
||||||
|
# one of the two compilations can be disabled. We should prefer
|
||||||
|
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||||
|
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||||
|
# the former would cause a distcleancheck panic.
|
||||||
|
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||||
|
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||||
|
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||||
|
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||||
|
"$@" -Wc,-MD
|
||||||
|
else
|
||||||
|
tmpdepfile1=$dir$base.o.d
|
||||||
|
tmpdepfile2=$dir$base.d
|
||||||
|
tmpdepfile3=$dir$base.d
|
||||||
|
tmpdepfile4=$dir$base.d
|
||||||
|
"$@" -MD
|
||||||
|
fi
|
||||||
|
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||||
|
do
|
||||||
|
test -f "$tmpdepfile" && break
|
||||||
|
done
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||||
|
# That's a tab and a space in the [].
|
||||||
|
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
#nosideeffect)
|
||||||
|
# This comment above is used by automake to tell side-effect
|
||||||
|
# dependency tracking mechanisms from slower ones.
|
||||||
|
|
||||||
|
dashmstdout)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout, regardless of -o.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test $1 != '--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove `-o $object'.
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
test -z "$dashmflag" && dashmflag=-M
|
||||||
|
# Require at least two characters before searching for `:'
|
||||||
|
# in the target name. This is to cope with DOS-style filenames:
|
||||||
|
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||||
|
"$@" $dashmflag |
|
||||||
|
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
cat < "$tmpdepfile" > "$depfile"
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" | \
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
dashXmstdout)
|
||||||
|
# This case only exists to satisfy depend.m4. It is never actually
|
||||||
|
# run, as this mode is specially recognized in the preamble.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
makedepend)
|
||||||
|
"$@" || exit $?
|
||||||
|
# Remove any Libtool call
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test $1 != '--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
# X makedepend
|
||||||
|
shift
|
||||||
|
cleared=no
|
||||||
|
for arg in "$@"; do
|
||||||
|
case $cleared in
|
||||||
|
no)
|
||||||
|
set ""; shift
|
||||||
|
cleared=yes ;;
|
||||||
|
esac
|
||||||
|
case "$arg" in
|
||||||
|
-D*|-I*)
|
||||||
|
set fnord "$@" "$arg"; shift ;;
|
||||||
|
# Strip any option that makedepend may not understand. Remove
|
||||||
|
# the object too, otherwise makedepend will parse it as a source file.
|
||||||
|
-*|$object)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"; shift ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||||
|
touch "$tmpdepfile"
|
||||||
|
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||||
|
rm -f "$depfile"
|
||||||
|
cat < "$tmpdepfile" > "$depfile"
|
||||||
|
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||||
|
' | \
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||||
|
;;
|
||||||
|
|
||||||
|
cpp)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test $1 != '--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove `-o $object'.
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
"$@" -E |
|
||||||
|
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||||
|
sed '$ s: \\$::' > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
cat < "$tmpdepfile" >> "$depfile"
|
||||||
|
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvisualcpp)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout, regardless of -o,
|
||||||
|
# because we must use -o when running libtool.
|
||||||
|
"$@" || exit $?
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case "$arg" in
|
||||||
|
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||||
|
set fnord "$@"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
"$@" -E |
|
||||||
|
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||||
|
echo " " >> "$depfile"
|
||||||
|
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
none)
|
||||||
|
exec "$@"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Unknown depmode $depmode" 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-indentation: 2
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-end: "$"
|
||||||
|
# End:
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
NumLevels: 2
|
|
||||||
|
|
||||||
NumVerticesOnLevel: 11 20 29
|
|
||||||
|
|
||||||
Vertices:
|
|
||||||
1 0.0 0.0
|
|
||||||
2 60.0 -70.0
|
|
||||||
3 90.0 -10.0
|
|
||||||
4 140.0 -70.0
|
|
||||||
5 180.0 -10.0
|
|
||||||
6 240.0 -60.0
|
|
||||||
7 220.0 60.0
|
|
||||||
8 140.0 90.0
|
|
||||||
9 200.0 120.0
|
|
||||||
10 130.0 150.0
|
|
||||||
11 50.0 80.0
|
|
||||||
12 115.0 40.0
|
|
||||||
13 95.0 85.0
|
|
||||||
14 70.0 35.0
|
|
||||||
15 160.0 -40.0
|
|
||||||
16 135.0 -10.0
|
|
||||||
17 115.0 -40.0
|
|
||||||
18 200.0 25.0
|
|
||||||
19 180.0 75.0
|
|
||||||
20 160.0 40.0
|
|
||||||
|
|
||||||
21 125.0 15.0
|
|
||||||
22 112.5 -10.0
|
|
||||||
23 102.5 15.0
|
|
||||||
24 147.5 15.0
|
|
||||||
25 137.5 40.0
|
|
||||||
26 150.0 65.0
|
|
||||||
27 127.5 65.0
|
|
||||||
28 117.5 87.5
|
|
||||||
29 105.0 62.5
|
|
||||||
|
|
||||||
NumElemsOnLevel: 12 24 36
|
|
||||||
NumElems: 12 28 44
|
|
||||||
|
|
||||||
Elements:
|
|
||||||
ID PID CID VertexIDs Adj Translation Tbl (dim num lvls - 1)
|
|
||||||
1 -1 -1 1 2 3 2 11 -1 1
|
|
||||||
2 -1 -1 2 3 4 3 -1 1 2
|
|
||||||
3 -1 12 3 4 5 4 12 2 -1
|
|
||||||
4 -1 -1 4 5 6 5 -1 3 3
|
|
||||||
5 -1 -1 5 7 6 -1 4 6 4
|
|
||||||
6 -1 17 8 5 7 5 7 12 -1
|
|
||||||
7 -1 -1 8 9 7 -1 6 8 5
|
|
||||||
8 -1 -1 10 8 9 7 -1 9 6
|
|
||||||
9 -1 -1 11 10 8 8 10 -1 7
|
|
||||||
10 -1 25 11 3 8 12 9 11 -1
|
|
||||||
11 -1 -1 1 11 3 10 1 -1 8
|
|
||||||
12 -1 21 3 8 5 6 3 10 -1
|
|
||||||
13 3 -1 3 14 13 16 21 2 9
|
|
||||||
14 3 -1 14 4 12 4 16 2 10
|
|
||||||
15 3 -1 13 12 5 4 23 16 11
|
|
||||||
16 3 -1 14 13 12 15 14 13 12
|
|
||||||
17 6 -1 8 17 16 20 5 22 13
|
|
||||||
18 6 -1 17 5 15 5 20 23 14
|
|
||||||
19 6 -1 16 15 7 5 7 20 15
|
|
||||||
20 6 -1 17 16 15 19 18 17 16
|
|
||||||
21 12 -1 3 18 13 24 13 26 17
|
|
||||||
22 12 -1 18 8 17 17 24 27 18
|
|
||||||
23 12 -1 13 17 5 18 15 24 19
|
|
||||||
24 12 -1 18 13 17 23 22 21 20
|
|
||||||
25 10 -1 11 20 19 28 9 11 21
|
|
||||||
26 10 -1 20 3 18 21 28 11 22
|
|
||||||
27 10 -1 19 18 8 22 9 28 23
|
|
||||||
28 10 -1 20 3 18 27 26 25 24
|
|
||||||
|
|
||||||
3,0 3,1 4,2 2,3 16,4
|
|
||||||
|
|
||||||
1 2 -1 3 4
|
|
||||||
|
|
||||||
1 2 3
|
|
||||||
1 3 6
|
|
||||||
2 11 1 13 14
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 17 DOUBLE
|
|
||||||
-1 0 0
|
|
||||||
1 0 0
|
|
||||||
0 1 0
|
|
||||||
0 0 1
|
|
||||||
0 -1 0
|
|
||||||
-0.5 0 0.5
|
|
||||||
-0.5 0.5 0
|
|
||||||
0 0 0
|
|
||||||
0 0.5 0.5
|
|
||||||
0.5 0 0.5
|
|
||||||
0.5 0.5 0
|
|
||||||
-0.75 0 0.25
|
|
||||||
-0.75 0.25 0
|
|
||||||
-0.5 0 0
|
|
||||||
-0.5 0.25 0.25
|
|
||||||
-0.25 0 0.25
|
|
||||||
-0.25 0.25 0
|
|
||||||
|
|
||||||
CELLS 18 90
|
|
||||||
4 0 3 2 1
|
|
||||||
4 0 4 3 1
|
|
||||||
4 0 5 6 7
|
|
||||||
4 5 3 8 9
|
|
||||||
4 6 8 2 10
|
|
||||||
4 7 9 10 1
|
|
||||||
4 5 6 7 9
|
|
||||||
4 5 6 8 9
|
|
||||||
4 6 7 9 10
|
|
||||||
4 6 8 9 10
|
|
||||||
4 0 11 12 13
|
|
||||||
4 11 5 14 15
|
|
||||||
4 12 14 6 16
|
|
||||||
4 13 15 16 7
|
|
||||||
4 11 12 13 15
|
|
||||||
4 11 12 14 15
|
|
||||||
4 12 13 15 16
|
|
||||||
4 12 14 15 16
|
|
||||||
|
|
||||||
CELL_TYPES 18
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
POINT_DATA 17
|
|
||||||
SCALARS vertex_id int 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
|
|
||||||
CELL_DATA 18
|
|
||||||
SCALARS cell_attribute_data int 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
17
|
|
||||||
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 17 DOUBLE
|
|
||||||
-1 0 0
|
|
||||||
1 0 0
|
|
||||||
0 1 0
|
|
||||||
0 0 1
|
|
||||||
0 -1 0
|
|
||||||
-0.5 0 0.5
|
|
||||||
-0.5 0.5 0
|
|
||||||
0 0 0
|
|
||||||
0 0.5 0.5
|
|
||||||
0.5 0 0.5
|
|
||||||
0.5 0.5 0
|
|
||||||
-0.75 0 0.25
|
|
||||||
-0.75 0.25 0
|
|
||||||
-0.5 0 0
|
|
||||||
-0.5 0.25 0.25
|
|
||||||
-0.25 0 0.25
|
|
||||||
-0.25 0.25 0
|
|
||||||
|
|
||||||
CELLS 2 10
|
|
||||||
4 0 3 2 1
|
|
||||||
4 0 4 3 1
|
|
||||||
|
|
||||||
CELL_TYPES 2
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
POINT_DATA 17
|
|
||||||
SCALARS vertex_id int 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
|
|
||||||
CELL_DATA 2
|
|
||||||
SCALARS cell_attribute_data int 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 17 DOUBLE
|
|
||||||
-1 0 0
|
|
||||||
1 0 0
|
|
||||||
0 1 0
|
|
||||||
0 0 1
|
|
||||||
0 -1 0
|
|
||||||
-0.5 0 0.5
|
|
||||||
-0.5 0.5 0
|
|
||||||
0 0 0
|
|
||||||
0 0.5 0.5
|
|
||||||
0.5 0 0.5
|
|
||||||
0.5 0.5 0
|
|
||||||
-0.75 0 0.25
|
|
||||||
-0.75 0.25 0
|
|
||||||
-0.5 0 0
|
|
||||||
-0.5 0.25 0.25
|
|
||||||
-0.25 0 0.25
|
|
||||||
-0.25 0.25 0
|
|
||||||
|
|
||||||
CELLS 9 45
|
|
||||||
4 0 4 3 1
|
|
||||||
4 0 5 6 7
|
|
||||||
4 5 3 8 9
|
|
||||||
4 6 8 2 10
|
|
||||||
4 7 9 10 1
|
|
||||||
4 5 6 7 9
|
|
||||||
4 5 6 8 9
|
|
||||||
4 6 7 9 10
|
|
||||||
4 6 8 9 10
|
|
||||||
|
|
||||||
CELL_TYPES 9
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
POINT_DATA 17
|
|
||||||
SCALARS vertex_id int 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
|
|
||||||
CELL_DATA 9
|
|
||||||
SCALARS cell_attribute_data int 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
|
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 17 DOUBLE
|
|
||||||
-1 0 0
|
|
||||||
1 0 0
|
|
||||||
0 1 0
|
|
||||||
0 0 1
|
|
||||||
0 -1 0
|
|
||||||
-0.5 0 0.5
|
|
||||||
-0.5 0.5 0
|
|
||||||
0 0 0
|
|
||||||
0 0.5 0.5
|
|
||||||
0.5 0 0.5
|
|
||||||
0.5 0.5 0
|
|
||||||
-0.75 0 0.25
|
|
||||||
-0.75 0.25 0
|
|
||||||
-0.5 0 0
|
|
||||||
-0.5 0.25 0.25
|
|
||||||
-0.25 0 0.25
|
|
||||||
-0.25 0.25 0
|
|
||||||
|
|
||||||
CELLS 16 80
|
|
||||||
4 0 4 3 1
|
|
||||||
4 5 3 8 9
|
|
||||||
4 6 8 2 10
|
|
||||||
4 7 9 10 1
|
|
||||||
4 5 6 7 9
|
|
||||||
4 5 6 8 9
|
|
||||||
4 6 7 9 10
|
|
||||||
4 6 8 9 10
|
|
||||||
4 0 11 12 13
|
|
||||||
4 11 5 14 15
|
|
||||||
4 12 14 6 16
|
|
||||||
4 13 15 16 7
|
|
||||||
4 11 12 13 15
|
|
||||||
4 11 12 14 15
|
|
||||||
4 12 13 15 16
|
|
||||||
4 12 14 15 16
|
|
||||||
|
|
||||||
CELL_TYPES 16
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
POINT_DATA 17
|
|
||||||
SCALARS vertex_id int 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
|
|
||||||
CELL_DATA 16
|
|
||||||
SCALARS cell_attribute_data int 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
1
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
17
|
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
12 14
|
|
||||||
2 11
|
|
||||||
1 3
|
|
||||||
2 4 12
|
|
||||||
3 5
|
|
||||||
4 6
|
|
||||||
5 7 12
|
|
||||||
6 8
|
|
||||||
7 9
|
|
||||||
8 10
|
|
||||||
9 11 12
|
|
||||||
1 10
|
|
||||||
3 6 10
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
0
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
1
|
|
||||||
1
|
|
||||||
2
|
|
||||||
2
|
|
||||||
2
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
1
|
|
||||||
2
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
24 35
|
|
||||||
%1
|
|
||||||
2 8
|
|
||||||
%2
|
|
||||||
1 9 10
|
|
||||||
%3
|
|
||||||
4 10 11
|
|
||||||
%4
|
|
||||||
3 14 15
|
|
||||||
%5
|
|
||||||
6 13 15
|
|
||||||
%6
|
|
||||||
5 7
|
|
||||||
%7
|
|
||||||
6 21 23
|
|
||||||
%8
|
|
||||||
1 21 22
|
|
||||||
%9
|
|
||||||
2 12 17
|
|
||||||
%10
|
|
||||||
2 3 12
|
|
||||||
%11
|
|
||||||
3 12 19
|
|
||||||
%12
|
|
||||||
9 10 11
|
|
||||||
%13
|
|
||||||
5 16 18
|
|
||||||
%14
|
|
||||||
4 16 19
|
|
||||||
%15
|
|
||||||
4 5 16
|
|
||||||
%16
|
|
||||||
13 14 15
|
|
||||||
%17
|
|
||||||
9 20 22
|
|
||||||
%18
|
|
||||||
13 20 23
|
|
||||||
%19
|
|
||||||
11 14 20
|
|
||||||
%20
|
|
||||||
17 18 19
|
|
||||||
%21
|
|
||||||
7 8 24
|
|
||||||
%22
|
|
||||||
8 17 24
|
|
||||||
%23
|
|
||||||
7 18 24
|
|
||||||
%24
|
|
||||||
21 22 23
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
1
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
0
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
12 1
|
|
||||||
1 2 3
|
|
||||||
2 3 4
|
|
||||||
3 4 6
|
|
||||||
4 5 6
|
|
||||||
5 6 7
|
|
||||||
6 7 8
|
|
||||||
7 8 11
|
|
||||||
8 10 11
|
|
||||||
8 9 10
|
|
||||||
3 8 9
|
|
||||||
1 3 9
|
|
||||||
3 6 8
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
11 22
|
|
||||||
2 3 9
|
|
||||||
1 3 4
|
|
||||||
1 2 4 6 8 9
|
|
||||||
2 3 6 5
|
|
||||||
4 6 7
|
|
||||||
3 4 5 7 8
|
|
||||||
5 6 8 11
|
|
||||||
6 7 11 10 9 3
|
|
||||||
8 10 3 1
|
|
||||||
8 11 9
|
|
||||||
7 8 10
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
20 43
|
|
||||||
%1
|
|
||||||
2 3 11
|
|
||||||
%2
|
|
||||||
1 3 4
|
|
||||||
%3
|
|
||||||
1 2 14 13 18 20
|
|
||||||
%4
|
|
||||||
2 14 12 6
|
|
||||||
%5
|
|
||||||
12 6 15 17 13
|
|
||||||
%6
|
|
||||||
4 5 7
|
|
||||||
%7
|
|
||||||
6 15 16 9
|
|
||||||
%8
|
|
||||||
9 10 19 18 17 16
|
|
||||||
%9
|
|
||||||
7 8 10
|
|
||||||
%10
|
|
||||||
8 9 11
|
|
||||||
%11
|
|
||||||
1 20 19 10
|
|
||||||
%12
|
|
||||||
4 14 13 5
|
|
||||||
%13
|
|
||||||
3 14 12 5 17 18
|
|
||||||
%14
|
|
||||||
3 13 12 4
|
|
||||||
%15
|
|
||||||
5 17 17 7
|
|
||||||
%16
|
|
||||||
7 8 17 15
|
|
||||||
%17
|
|
||||||
5 15 16 8 18 13
|
|
||||||
%18
|
|
||||||
3 13 17 8 19 20
|
|
||||||
%19
|
|
||||||
8 11 20 18
|
|
||||||
%20
|
|
||||||
3 18 19 11
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
@@ -1,171 +0,0 @@
|
|||||||
/*!
|
|
||||||
\mainpage H5hut: A High-Performance I/O Library for Particle-based Simulations
|
|
||||||
|
|
||||||
Particle-based simulations running on large high-performance computing systems
|
|
||||||
over many time steps can generate an enormous amount of particle- and
|
|
||||||
field-based data for post-processing and analysis. Achieving high-performance
|
|
||||||
I/O for this data, effectively managing it on disk, and interfacing it with
|
|
||||||
analysis and visualization tools can be challenging, especially for domain
|
|
||||||
scientists who do not have I/O and data management expertise. We present the
|
|
||||||
H5hut library, an implementation of several data models for particle-based
|
|
||||||
simulations that encapsulates the complexity of HDF5 and is simple to use, yet
|
|
||||||
does not compromise performance.
|
|
||||||
|
|
||||||
Developers:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI> Andreas Adelmann (PSI) </LI>
|
|
||||||
<LI> Achim Gsell (PSI) </LI>
|
|
||||||
<LI> Mark Howison (NERSC/LBNL) </LI>
|
|
||||||
<LI> Prabhat (NERSC/LBNL) </LI>
|
|
||||||
<LI> Wes Bethel (NERSC/LBNL) </LI>
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
Previous developers:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI> Benedikt Oswald (PSI) </LI>
|
|
||||||
<LI> Cristina Siegerist (NERSC/LBNL)</LI>
|
|
||||||
<LI> John Shalf (NERSC/LBNL)</LI>
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
For more information, please contact the
|
|
||||||
<a href="mailto:h5part@lists.psi.ch">h5part</a> mailing list.
|
|
||||||
|
|
||||||
\defgroup c_api C API
|
|
||||||
@{
|
|
||||||
\note The C API is implemented with '\c static \c inline' functions to minimize overhead.
|
|
||||||
\defgroup h5_c_api H5
|
|
||||||
@{
|
|
||||||
\defgroup h5_file File interface
|
|
||||||
|
|
||||||
In this section we document the interface for accessing H5hut files.
|
|
||||||
|
|
||||||
\defgroup h5_model Setting up the data model
|
|
||||||
|
|
||||||
The fundamental data model of H5hut is pretty simple. There
|
|
||||||
are (time-)steps to group data, that's it. In this section we
|
|
||||||
document the interface to these (time-)steps.
|
|
||||||
|
|
||||||
\defgroup h5_file_attribs File attributes interface
|
|
||||||
|
|
||||||
File attributes are small datasets that can be used to
|
|
||||||
describe specific properties of a file. The H5hut API provides
|
|
||||||
functions to attach (write), read and inquire file attributes.
|
|
||||||
|
|
||||||
\defgroup h5_step_attribs Step attributes interface
|
|
||||||
|
|
||||||
Step attributes are similar to file attributes but are
|
|
||||||
attached to (time-)steps. They can be used to describe
|
|
||||||
specific properties of a specific step. The H5hut API provides
|
|
||||||
functions to attach (write), read and inquire step attributes.
|
|
||||||
|
|
||||||
\defgroup h5_attach Attaching files
|
|
||||||
|
|
||||||
Sometimes it is required (or at least useful) to attach
|
|
||||||
additional information to H5hut files. H5hut provides
|
|
||||||
functions to attach other files to H5hut files. The attached
|
|
||||||
files can be of any type.
|
|
||||||
|
|
||||||
\defgroup h5_log Controlling verbosity level
|
|
||||||
|
|
||||||
Controlling the verbosity level of H5hut. By default only
|
|
||||||
error messages are printed. For debugging it might be helpful
|
|
||||||
to increase the verbosity level.
|
|
||||||
|
|
||||||
\defgroup h5_debug Controlling debug output
|
|
||||||
|
|
||||||
Debug output mainly intended for developers.
|
|
||||||
|
|
||||||
\defgroup h5_error Error handling interface
|
|
||||||
|
|
||||||
H5hut comes with two error handler. The default error handler
|
|
||||||
prints an error message (which can be suppressed by setting
|
|
||||||
the verbosity level to \c 0), sets an internal error number
|
|
||||||
and returns to the calling program with the value \c
|
|
||||||
H5_FAILURE. It is up to the programmer to handle the error
|
|
||||||
properly. In certain use-cases it make sense just to abort the
|
|
||||||
program, so no additional error handling is needed. H5hut
|
|
||||||
provides an abort error-handler for this use-cases-
|
|
||||||
|
|
||||||
@}
|
|
||||||
\defgroup h5part_c_api H5Part
|
|
||||||
@{
|
|
||||||
\defgroup h5part_model Setting up the data model
|
|
||||||
|
|
||||||
The H5Part data model interface provides functions to set and
|
|
||||||
inquire (per core) views on datasets.
|
|
||||||
|
|
||||||
\defgroup h5part_io Dataset interface
|
|
||||||
|
|
||||||
The dataset interface provides functions to read and write
|
|
||||||
datasets. The following data types are supported:
|
|
||||||
|
|
||||||
- 64-bit floating point numbers (\c h5_float64_t)
|
|
||||||
- 32-bit floating point numbers (\c h5_float32_t)
|
|
||||||
- 64-bit integers (\c h5_int64_t)
|
|
||||||
- 32-bit integers (\c h5_int32_t)
|
|
||||||
|
|
||||||
\note Before you can write or read a dataset, you have to
|
|
||||||
define a "view" on the dataset for each core.
|
|
||||||
|
|
||||||
@}
|
|
||||||
\defgroup h5block_c_api H5Block
|
|
||||||
@{
|
|
||||||
\defgroup h5block_model Setting up the data model
|
|
||||||
|
|
||||||
The H5Block data model interface provides functions to set and
|
|
||||||
inquire (per core) views on fields.
|
|
||||||
|
|
||||||
\defgroup h5block_io Interface to block structured data
|
|
||||||
|
|
||||||
H5Block provides functions to store and retrieve
|
|
||||||
|
|
||||||
- 3-dimensional fields with scalar values
|
|
||||||
- 3-dimensional fields with 3-dimensional vectors as values
|
|
||||||
|
|
||||||
The following datatypes are supported:
|
|
||||||
|
|
||||||
- 64-bit floating point numbers (\c h5_float64_t)
|
|
||||||
- 32-bit floating point numbers (\c h5_float32_t)
|
|
||||||
- 64-bit integers (\c h5_int64_t)
|
|
||||||
- 32-bit integers (\c h5_int32_t)
|
|
||||||
|
|
||||||
\defgroup h5block_attrib Attaching attributes to field data
|
|
||||||
|
|
||||||
Field attributes are small datasets that can be used to
|
|
||||||
describe specific properties of a field like origin, spacing
|
|
||||||
or coordinates. The H5hut API provides functions to attach
|
|
||||||
(write), read and inquire file attributes.
|
|
||||||
|
|
||||||
@}
|
|
||||||
@}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\defgroup f90_api Fortran90 API
|
|
||||||
@{
|
|
||||||
\defgroup h5_f90_api H5
|
|
||||||
@{
|
|
||||||
\defgroup h5_file_f file interface
|
|
||||||
\defgroup h5_model_f setting up the data model
|
|
||||||
\defgroup h5_file_attribs_f reading and writing file attributes
|
|
||||||
\defgroup h5_step_attribs_f reading and writing step attributes
|
|
||||||
\defgroup h5_log_f control verbosity level
|
|
||||||
\defgroup h5_debug_f control debug output
|
|
||||||
\defgroup h5_error_f error handling interface
|
|
||||||
@}
|
|
||||||
\defgroup h5part_f90_api H5Part
|
|
||||||
@{
|
|
||||||
\defgroup h5part_model_f setting up the data model
|
|
||||||
\defgroup h5part_io_f reading and writing datasets
|
|
||||||
@}
|
|
||||||
\defgroup h5block_f90_api H5Block
|
|
||||||
@{
|
|
||||||
\defgroup h5block_model_f setting up the data model
|
|
||||||
\defgroup h5block_io_f reading and writing datasets
|
|
||||||
\defgroup h5block_attrib_f reading and writing attributes
|
|
||||||
@}
|
|
||||||
@}
|
|
||||||
*/
|
|
||||||
|
|
||||||
@@ -1,14 +1,2 @@
|
|||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
Doxyfile \
|
Doxyfile doxyfooter
|
||||||
H5.dox
|
|
||||||
|
|
||||||
all:
|
|
||||||
|
|
||||||
doc:
|
|
||||||
|
|
||||||
doxydoc:
|
|
||||||
doxygen
|
|
||||||
|
|
||||||
clean-local:
|
|
||||||
$(RM) -r ReferencePages TWiki
|
|
||||||
$(RM) *~
|
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
<style type="text/css">
|
|
||||||
h1 { text-align: center; }
|
|
||||||
</style>
|
|
||||||
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
<HTML>
|
|
||||||
<HEAD>
|
|
||||||
<TITLE>H5/H5Part/H5Block/H5Fed API</TITLE>
|
|
||||||
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
|
|
||||||
</HEAD>
|
|
||||||
<BODY BGCOLOR="#FFFFFF">
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
shopt -s nullglob
|
|
||||||
|
|
||||||
function html2twiki() {
|
|
||||||
declare -rx infile=$1
|
|
||||||
declare -rx outdir=$2
|
|
||||||
declare -rx fname=$( sed -n 's/.* member="\([a-zA-Z0-9_.]*\)::\([_a-zA-Z0-9]*\)" .*/\2/p' "${infile}" )
|
|
||||||
declare -rx outfile="${outdir}/${fname}.txt"
|
|
||||||
|
|
||||||
grep -q " member=" "${infile}" || return 0
|
|
||||||
|
|
||||||
sed '/Generated by/,/anchor/d' "${infile}" > "${outfile}"
|
|
||||||
}
|
|
||||||
|
|
||||||
mkdir -p TWiki/h5_core
|
|
||||||
mkdir -p TWiki/H5
|
|
||||||
mkdir -p TWiki/H5Part
|
|
||||||
mkdir -p TWiki/H5Block
|
|
||||||
mkdir -p TWiki/H5Fed
|
|
||||||
|
|
||||||
for f in ReferencePages/group__h5__core_*.html; do
|
|
||||||
html2twiki $f TWiki/h5_core
|
|
||||||
done
|
|
||||||
for f in ReferencePages/group__h5__c__api_*.html; do
|
|
||||||
html2twiki $f TWiki/H5
|
|
||||||
done
|
|
||||||
for f in ReferencePages/group__h5part__c__api_*.html; do
|
|
||||||
html2twiki $f TWiki/H5Part
|
|
||||||
done
|
|
||||||
for f in ReferencePages/group__h5block__c__api_*.html; do
|
|
||||||
html2twiki $f TWiki/H5Block
|
|
||||||
done
|
|
||||||
for f in ReferencePages/group__h5fed__c__api_*.html; do
|
|
||||||
html2twiki $f TWiki/H5Fed
|
|
||||||
done
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
from lxml import etree
|
|
||||||
from lxml.html import builder as E
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
|
|
||||||
tree = etree.parse('tagfile')
|
|
||||||
tags = tree.xpath ('//member[@kind="function"]')
|
|
||||||
tags_per_files = {}
|
|
||||||
for tag in tags:
|
|
||||||
name = tag.find("name").text
|
|
||||||
anchor = tag.find("anchor").text
|
|
||||||
anchorfile = tag.find("anchorfile").text
|
|
||||||
if anchorfile in tags_per_files:
|
|
||||||
tags_per_files[anchorfile].append([name, anchor])
|
|
||||||
else:
|
|
||||||
tags_per_files[anchorfile] = [[name, anchor]]
|
|
||||||
|
|
||||||
|
|
||||||
prefix = None
|
|
||||||
for line in open("Doxyfile", "r"):
|
|
||||||
if re.search ("^OUTPUT_DIRECTORY", line):
|
|
||||||
prefix = line.split("=")[-1].strip()
|
|
||||||
|
|
||||||
if not prefix:
|
|
||||||
prefix = "."
|
|
||||||
|
|
||||||
parser = etree.HTMLParser()
|
|
||||||
for filename,anchors in tags_per_files.items():
|
|
||||||
print "Processing file: %s/%s" % (prefix, filename)
|
|
||||||
tree = etree.parse ("%s/%s" % (prefix, filename), parser)
|
|
||||||
for name,id in anchors:
|
|
||||||
anchor = tree.xpath ('//a[@id="%s"]' % id)
|
|
||||||
el = E.A(id="%s" % name)
|
|
||||||
anchor[0].addnext (el)
|
|
||||||
|
|
||||||
f = open ("%s/%s" % (prefix, filename), "w")
|
|
||||||
f.write (etree.tostring (tree))
|
|
||||||
|
Before Width: | Height: | Size: 8.4 KiB |
@@ -1,10 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
TET no. 1:
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 5 DOUBLE
|
|
||||||
0.5 0.5 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
0.0 0.0 0.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
1.0 0.0 0.0
|
|
||||||
|
|
||||||
CELLS 2 10
|
|
||||||
4 0 1 2 3
|
|
||||||
4 0 2 1 4
|
|
||||||
|
|
||||||
CELL_TYPES 2
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 2
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
|
Before Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 8.5 KiB |
@@ -1,10 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.0, 0.5, 0.5
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
TET no. 1:
|
|
||||||
0.0, 0.5, 0.5
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 5 DOUBLE
|
|
||||||
0.0 0.5 0.5
|
|
||||||
0.0 0.0 0.0
|
|
||||||
1.0 0.0 0.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
|
|
||||||
CELLS 2 10
|
|
||||||
4 0 1 2 3
|
|
||||||
4 0 2 1 4
|
|
||||||
|
|
||||||
CELL_TYPES 2
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 2
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
@@ -1,10 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.5, 0.0, 0.5
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
TET no. 1:
|
|
||||||
0.5, 0.0, 0.5
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 5 DOUBLE
|
|
||||||
0.5 0.0 0.5
|
|
||||||
0.0 0.0 0.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
1.0 0.0 0.0
|
|
||||||
|
|
||||||
CELLS 2 10
|
|
||||||
4 0 1 2 3
|
|
||||||
4 0 2 1 4
|
|
||||||
|
|
||||||
CELL_TYPES 2
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 2
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
|
Before Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
@@ -1,10 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.0, 0.0, 0.5
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 1:
|
|
||||||
0.0, 0.0, 0.5
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 5 DOUBLE
|
|
||||||
0.0 0.0 0.5
|
|
||||||
1.0 0.0 0.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
0.0 0.0 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
|
|
||||||
CELLS 2 10
|
|
||||||
4 0 1 2 3
|
|
||||||
4 0 2 1 4
|
|
||||||
|
|
||||||
CELL_TYPES 2
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 2
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 8.0 KiB |
@@ -1,10 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.5, 0.0, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 1:
|
|
||||||
0.5, 0.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 5 DOUBLE
|
|
||||||
0.5 0.0 0.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
0.0 0.0 0.0
|
|
||||||
1.0 0.0 0.0
|
|
||||||
|
|
||||||
CELLS 2 10
|
|
||||||
4 0 1 2 3
|
|
||||||
4 0 2 1 4
|
|
||||||
|
|
||||||
CELL_TYPES 2
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 2
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
@@ -1,10 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.0, 0.5, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 1:
|
|
||||||
0.0, 0.5, 0.0
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 5 DOUBLE
|
|
||||||
0.0 0.5 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
1.0 0.0 0.0
|
|
||||||
0.0 0.0 0.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
|
|
||||||
CELLS 2 10
|
|
||||||
4 0 1 2 3
|
|
||||||
4 0 2 1 4
|
|
||||||
|
|
||||||
CELL_TYPES 2
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 2
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
@@ -1,15 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.0, 0.5, 0.5
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 1:
|
|
||||||
0.0, 0.5, 0.5
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 2:
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.0, 0.5, 0.5
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 6 DOUBLE
|
|
||||||
0.5 0.5 0.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
0.0 0.5 0.5
|
|
||||||
0.0 0.0 0.0
|
|
||||||
1.0 0.0 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
|
|
||||||
CELLS 3 15
|
|
||||||
4 0 1 2 3
|
|
||||||
4 2 4 0 3
|
|
||||||
4 4 2 5 3
|
|
||||||
|
|
||||||
CELL_TYPES 3
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 3
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
@@ -1,15 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.5, 0.0, 0.5
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 1:
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
0.5, 0.0, 0.5
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 2:
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 6 DOUBLE
|
|
||||||
0.5 0.0 0.5
|
|
||||||
1.0 0.0 0.0
|
|
||||||
0.5 0.5 0.0
|
|
||||||
0.0 0.0 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
|
|
||||||
CELLS 3 15
|
|
||||||
4 0 1 2 3
|
|
||||||
4 2 4 0 3
|
|
||||||
4 4 2 5 3
|
|
||||||
|
|
||||||
CELL_TYPES 3
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 3
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
|
Before Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 11 KiB |
@@ -1,20 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 0.5
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 1:
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.0, 0.0, 0.5
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
TET no. 2:
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 0.5
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
TET no. 3:
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.0, 0.0, 0.5
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 6 DOUBLE
|
|
||||||
1.0 0.0 0.0
|
|
||||||
0.5 0.5 0.0
|
|
||||||
0.0 0.0 0.5
|
|
||||||
0.0 0.0 0.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
|
|
||||||
CELLS 4 20
|
|
||||||
4 0 1 2 3
|
|
||||||
4 1 4 2 3
|
|
||||||
4 1 2 4 5
|
|
||||||
4 0 2 1 5
|
|
||||||
|
|
||||||
CELL_TYPES 4
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 4
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 10 KiB |
@@ -1,15 +0,0 @@
|
|||||||
TET no. 0:
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
1.0, 0.0, 0.0
|
|
||||||
0.5, 0.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
TET no. 1:
|
|
||||||
0.5, 0.0, 0.0
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.5, 0.5, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
TET no. 2:
|
|
||||||
0.0, 1.0, 0.0
|
|
||||||
0.5, 0.0, 0.0
|
|
||||||
0.0, 0.0, 0.0
|
|
||||||
0.0, 0.0, 1.0
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# vtk DataFile Version 2.0
|
|
||||||
VTK LEGACY FILE FORMAT ASCII - tetrahedral sample file for H5FED test
|
|
||||||
ASCII
|
|
||||||
DATASET UNSTRUCTURED_GRID
|
|
||||||
|
|
||||||
POINTS 6 DOUBLE
|
|
||||||
0.5 0.5 0.0
|
|
||||||
1.0 0.0 0.0
|
|
||||||
0.5 0.0 0.0
|
|
||||||
0.0 0.0 1.0
|
|
||||||
0.0 1.0 0.0
|
|
||||||
0.0 0.0 0.0
|
|
||||||
|
|
||||||
CELLS 3 15
|
|
||||||
4 0 1 2 3
|
|
||||||
4 2 4 0 3
|
|
||||||
4 4 2 5 3
|
|
||||||
|
|
||||||
CELL_TYPES 3
|
|
||||||
10
|
|
||||||
10
|
|
||||||
10
|
|
||||||
|
|
||||||
CELL_DATA 3
|
|
||||||
SCALARS cell_attribute_data float 1
|
|
||||||
LOOKUP_TABLE default
|
|
||||||
0
|
|
||||||
1
|
|
||||||
2
|
|
||||||
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB |