Revision: 75986
http://sourceforge.net/p/brlcad/code/75986
Author: starseeker
Date: 2020-05-31 14:04:45 +0000 (Sun, 31 May 2020)
Log Message:
-----------
Merged changes from trunk through r75985
Modified Paths:
--------------
brlcad/branches/bioh/NEWS
brlcad/branches/bioh/doc/CMakeLists.txt
brlcad/branches/bioh/doc/docbook/system/man3/CMakeLists.txt
brlcad/branches/bioh/doc/docbook/system/man5/CMakeLists.txt
brlcad/branches/bioh/doc/docbook/system/mann/whichid.xml
brlcad/branches/bioh/doc/html/CMakeLists.txt
brlcad/branches/bioh/doc/html/manuals/mged/brlcad_glossary.html
brlcad/branches/bioh/doc/html/manuals/mged/brlcad_solids.html
brlcad/branches/bioh/doc/html/manuals/mged/cmd_line_ed.html
brlcad/branches/bioh/doc/html/manuals/mged/contents.html
brlcad/branches/bioh/doc/html/manuals/mged/default_key_bindings.html
brlcad/branches/bioh/doc/html/manuals/mged/default_mouse_bindings.html
brlcad/branches/bioh/doc/html/manuals/mged/ged.html
brlcad/branches/bioh/doc/html/manuals/mged/index.html
brlcad/branches/bioh/doc/html/manuals/mged/mged.html
brlcad/branches/bioh/doc/html/manuals/mged/mged2.html
brlcad/branches/bioh/doc/html/manuals/mged/mged3.html
brlcad/branches/bioh/doc/html/manuals/mged/mged_callbacks.html
brlcad/branches/bioh/doc/html/manuals/mged/mged_cmd_index.html
brlcad/branches/bioh/doc/html/manuals/mged/mged_env_vars.html
brlcad/branches/bioh/doc/html/manuals/mged/mged_gui.html
brlcad/branches/bioh/doc/html/manuals/mged/mged_tcl_vars.html
brlcad/branches/bioh/doc/html/manuals/mged/preface.html
brlcad/branches/bioh/doc/html/manuals/mged/shaders.html
brlcad/branches/bioh/doc/legal/embedded/CMakeLists.txt
brlcad/branches/bioh/misc/debian/CMakeLists.txt
brlcad/branches/bioh/misc/debian/archer.desktop
brlcad/branches/bioh/misc/debian/brlcad.install
brlcad/branches/bioh/misc/debian/mged.desktop
brlcad/branches/bioh/misc/debian/rtwizard.desktop
brlcad/branches/bioh/misc/debian/rules
brlcad/branches/bioh/regress/repository/repocheck.cpp
brlcad/branches/bioh/sh/make_rpm.sh
brlcad/branches/bioh/src/archer/CMakeLists.txt
brlcad/branches/bioh/src/libbn/poly.c
brlcad/branches/bioh/src/libdm/dm-X.c
brlcad/branches/bioh/src/libdm/dm-ogl.c
brlcad/branches/bioh/src/libdm/dm-osgl.cpp
brlcad/branches/bioh/src/libdm/dm-qt.cpp
brlcad/branches/bioh/src/libdm/dm-tk.c
brlcad/branches/bioh/src/libdm/dm-wgl.c
brlcad/branches/bioh/src/libged/CMakeLists.txt
brlcad/branches/bioh/src/libged/comb.c
brlcad/branches/bioh/src/libged/search.c
brlcad/branches/bioh/src/libpkg/pkg.c
brlcad/branches/bioh/src/librt/roots.c
brlcad/branches/bioh/src/shapes/bolt.c
brlcad/branches/bioh/src/shapes/gastank.c
brlcad/branches/bioh/src/shapes/handle.c
brlcad/branches/bioh/src/shapes/window.c
brlcad/branches/bioh/src/shapes/window_frame.c
brlcad/branches/bioh/src/shapes/wire.c
brlcad/branches/bioh/src/tclscripts/libdm.tcl
brlcad/branches/bioh/src/tclscripts/mged/bindings.tcl
Added Paths:
-----------
brlcad/branches/bioh/doc/README.other/
brlcad/branches/bioh/doc/docbook/system/man3/libpkg.xml
brlcad/branches/bioh/doc/docbook/system/man5/benchmark.xml
brlcad/branches/bioh/doc/legal/embedded/alphanum.txt
brlcad/branches/bioh/doc/notes/
brlcad/branches/bioh/src/archer/archer_ack.txt
brlcad/branches/bioh/src/libged/alphanum.h
brlcad/branches/bioh/src/libged/which.cpp
Removed Paths:
-------------
brlcad/branches/bioh/doc/README.AIX
brlcad/branches/bioh/doc/README.BSD
brlcad/branches/bioh/doc/README.IRIX
brlcad/branches/bioh/doc/README.OSCON-2014
brlcad/branches/bioh/doc/README.Solaris
brlcad/branches/bioh/doc/README.VAX
brlcad/branches/bioh/doc/TODO.BREP
brlcad/branches/bioh/doc/TODO.shaded_displays
brlcad/branches/bioh/doc/archer_ack.txt
brlcad/branches/bioh/doc/benchmark.tr
brlcad/branches/bioh/doc/brep.txt
brlcad/branches/bioh/doc/bsd_semaphore_bug.txt
brlcad/branches/bioh/doc/bu_opt_design_notes.txt
brlcad/branches/bioh/doc/c_cxx_patterns/
brlcad/branches/bioh/doc/cmake_vars.txt
brlcad/branches/bioh/doc/csv_to_comgeom.txt
brlcad/branches/bioh/doc/cvs.txt
brlcad/branches/bioh/doc/ecosystem.dot
brlcad/branches/bioh/doc/editors.txt
brlcad/branches/bioh/doc/ged.tr
brlcad/branches/bioh/doc/history.txt
brlcad/branches/bioh/doc/html/manuals/mged/concl.html
brlcad/branches/bioh/doc/html/manuals/mged/mged1.html
brlcad/branches/bioh/doc/html/manuals/mged/notes.html
brlcad/branches/bioh/doc/html/manuals/mged/outline
brlcad/branches/bioh/doc/html/manuals/mged/skipped
brlcad/branches/bioh/doc/hypot.txt
brlcad/branches/bioh/doc/implicit_constraints.txt
brlcad/branches/bioh/doc/irprep.tr
brlcad/branches/bioh/doc/lcov.txt
brlcad/branches/bioh/doc/mater.txt
brlcad/branches/bioh/doc/matrix.txt
brlcad/branches/bioh/doc/mk.tr
brlcad/branches/bioh/doc/parsers/
brlcad/branches/bioh/doc/pkg.tr
brlcad/branches/bioh/doc/regions.txt
brlcad/branches/bioh/doc/rounding.txt
brlcad/branches/bioh/doc/tool_categories.txt
brlcad/branches/bioh/doc/trunk_hierarchy.org
brlcad/branches/bioh/misc/debian/brlcad-doc-animation.desktop
brlcad/branches/bioh/src/libged/which.c
Property Changed:
----------------
brlcad/branches/bioh/
brlcad/branches/bioh/NEWS
brlcad/branches/bioh/doc/
brlcad/branches/bioh/regress/
Index: brlcad/branches/bioh
===================================================================
--- brlcad/branches/bioh 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh 2020-05-31 14:04:45 UTC (rev 75986)
Property changes on: brlcad/branches/bioh
___________________________________________________________________
Modified: svn:mergeinfo
## -7,4 +7,4 ##
/brlcad/branches/osg:62110-62113
/brlcad/branches/prep-cache:68236-68933
/brlcad/branches/tcltk86:68300-75257
-/brlcad/trunk:75720-75933
\ No newline at end of property
+/brlcad/trunk:75720-75985
\ No newline at end of property
Modified: brlcad/branches/bioh/NEWS
===================================================================
--- brlcad/branches/bioh/NEWS 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh/NEWS 2020-05-31 14:04:45 UTC (rev 75986)
@@ -13,6 +13,7 @@
--- 20XX-XX-XX Release 7.3X.X ---
----------------------------------------------------------------------
+* improved output path sorting of search command - Cliff Yapp
* added 3dm-g failure message about supported versions - Cliff Yapp
* fixed bw-png writing corrupted png files on Windows - Sean Morrison
Property changes on: brlcad/branches/bioh/NEWS
___________________________________________________________________
Modified: svn:mergeinfo
## -7,4 +7,4 ##
/brlcad/branches/osg/NEWS:62110-62113
/brlcad/branches/prep-cache/NEWS:68236-68933
/brlcad/branches/tcltk86/NEWS:68300-75257
-/brlcad/trunk/NEWS:75728-75834
\ No newline at end of property
+/brlcad/trunk/NEWS:75728-75834,75934-75985
\ No newline at end of property
Index: brlcad/branches/bioh/doc
===================================================================
--- brlcad/branches/bioh/doc 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh/doc 2020-05-31 14:04:45 UTC (rev 75986)
Property changes on: brlcad/branches/bioh/doc
___________________________________________________________________
Modified: svn:mergeinfo
## -7,4 +7,4 ##
/brlcad/branches/osg/doc:62110-62113
/brlcad/branches/prep-cache/doc:68236-68933
/brlcad/branches/tcltk86/doc:68300-75257
-/brlcad/trunk/doc:75728-75834
\ No newline at end of property
+/brlcad/trunk/doc:75728-75834,75934-75985
\ No newline at end of property
Modified: brlcad/branches/bioh/doc/CMakeLists.txt
===================================================================
--- brlcad/branches/bioh/doc/CMakeLists.txt 2020-05-29 16:33:10 UTC (rev
75985)
+++ brlcad/branches/bioh/doc/CMakeLists.txt 2020-05-31 14:04:45 UTC (rev
75986)
@@ -2,45 +2,30 @@
verbose_add_subdirectory(doc html)
verbose_add_subdirectory(doc legal)
-CMAKEFILES(
- parsers/bison_to_lemon.txt
- parsers/flex_to_re2c.txt
- parsers/templates/CMakeLists.txt
- parsers/templates/main.c
- parsers/templates/main.h
- parsers/templates/parser.lemon
- parsers/templates/scanner.perplex
- parsers/writing_perplex_lemon_parsers.txt
- )
-
set(documentation_DATA
+ BRL-CAD.bib
IDEAS
PROJECTS
- README.AIX
- README.BSD
- README.IRIX
README.Linux
README.MacOSX
- README.Solaris
- README.VAX
README.Windows
- TODO.BREP
- TODO.shaded_displays
- archer_ack.txt
- benchmark.tr
- bu_opt_design_notes.txt
- brep.txt
- BRL-CAD.bib
+ README.other/README.AIX
+ README.other/README.BSD
+ README.other/README.IRIX
+ README.other/README.Solaris
+ README.other/README.VAX
checklist.txt
- cvs.txt
description.txt
- editors.txt
- ged.tr
- history.txt
- hypot.txt
- irprep.tr
- mater.txt
- matrix.txt
+ notes/TODO.BREP
+ notes/TODO.shaded_displays
+ notes/brep.txt
+ notes/bu_opt_design_notes.txt
+ notes/cvs.txt
+ notes/editors.txt
+ notes/history.txt
+ notes/hypot.txt
+ notes/mater.txt
+ notes/matrix.txt
pre_BRL-CAD.bib
)
ADD_DOC(documentation_DATA ".")
@@ -210,13 +195,11 @@
mged/wm-leg1.ps
mged/wm-prims.ps
mged/wm-tube.ps
- mk.tr
+ notes/ecosystem.dot
+ notes/regions.txt
+ notes/rounding.txt
+ notes/tool_categories.txt
old-mged.tr
- pkg.tr
- regions.txt
- rounding.txt
- tool_categories.txt
- ecosystem.dot
)
ADD_DOC(documentation_mged_old_DATA mged_old)
@@ -225,44 +208,55 @@
CMAKEFILES(
CMakeLists.txt
- README.OSCON-2014
+ README.other/README.OSCON-2014
STARTERS
STRATEGY
- bsd_semaphore_bug.txt
- cmake_vars.txt
- csv_to_comgeom.txt
- implicit_constraints.txt
- lcov.txt
+ notes/bsd_semaphore_bug.txt
+ notes/cmake_vars.txt
+ notes/csv_to_comgeom.txt
+ notes/implicit_constraints.txt
+ notes/lcov.txt
pad_file.xml.in
- trunk_hierarchy.org
)
# Generic C/C++ examples
CMAKEFILES(
- c_cxx_patterns/01_basic_C/CMakeLists.txt
- c_cxx_patterns/01_basic_C/main.c
- c_cxx_patterns/01_basic_C/nlib.c
- c_cxx_patterns/01_basic_C/nlib.h
- c_cxx_patterns/02_hidden_C/CMakeLists.txt
- c_cxx_patterns/02_hidden_C/main.c
- c_cxx_patterns/02_hidden_C/nlib.c
- c_cxx_patterns/02_hidden_C/nlib.h
- c_cxx_patterns/03_PImpl_C/CMakeLists.txt
- c_cxx_patterns/03_PImpl_C/main.c
- c_cxx_patterns/03_PImpl_C/nlib.c
- c_cxx_patterns/03_PImpl_C/nlib.h
- c_cxx_patterns/04_hidden_CXX/CMakeLists.txt
- c_cxx_patterns/04_hidden_CXX/main.c
- c_cxx_patterns/04_hidden_CXX/nlib.cxx
- c_cxx_patterns/04_hidden_CXX/nlib.h
- c_cxx_patterns/05_PImpl_CXX/CMakeLists.txt
- c_cxx_patterns/05_PImpl_CXX/main.c
- c_cxx_patterns/05_PImpl_CXX/nlib.cxx
- c_cxx_patterns/05_PImpl_CXX/nlib.h
- c_cxx_patterns/CMakeLists.txt
- c_cxx_patterns/README
+ notes/c_cxx_patterns/01_basic_C/CMakeLists.txt
+ notes/c_cxx_patterns/01_basic_C/main.c
+ notes/c_cxx_patterns/01_basic_C/nlib.c
+ notes/c_cxx_patterns/01_basic_C/nlib.h
+ notes/c_cxx_patterns/02_hidden_C/CMakeLists.txt
+ notes/c_cxx_patterns/02_hidden_C/main.c
+ notes/c_cxx_patterns/02_hidden_C/nlib.c
+ notes/c_cxx_patterns/02_hidden_C/nlib.h
+ notes/c_cxx_patterns/03_PImpl_C/CMakeLists.txt
+ notes/c_cxx_patterns/03_PImpl_C/main.c
+ notes/c_cxx_patterns/03_PImpl_C/nlib.c
+ notes/c_cxx_patterns/03_PImpl_C/nlib.h
+ notes/c_cxx_patterns/04_hidden_CXX/CMakeLists.txt
+ notes/c_cxx_patterns/04_hidden_CXX/main.c
+ notes/c_cxx_patterns/04_hidden_CXX/nlib.cxx
+ notes/c_cxx_patterns/04_hidden_CXX/nlib.h
+ notes/c_cxx_patterns/05_PImpl_CXX/CMakeLists.txt
+ notes/c_cxx_patterns/05_PImpl_CXX/main.c
+ notes/c_cxx_patterns/05_PImpl_CXX/nlib.cxx
+ notes/c_cxx_patterns/05_PImpl_CXX/nlib.h
+ notes/c_cxx_patterns/CMakeLists.txt
+ notes/c_cxx_patterns/README
)
+# Notes about parser generators
+CMAKEFILES(
+ notes/parsers/bison_to_lemon.txt
+ notes/parsers/flex_to_re2c.txt
+ notes/parsers/templates/CMakeLists.txt
+ notes/parsers/templates/main.c
+ notes/parsers/templates/main.h
+ notes/parsers/templates/parser.lemon
+ notes/parsers/templates/scanner.perplex
+ notes/parsers/writing_perplex_lemon_parsers.txt
+ )
+
# Local Variables:
# tab-width: 8
# mode: cmake
Deleted: brlcad/branches/bioh/doc/README.AIX
===================================================================
--- brlcad/branches/bioh/doc/README.AIX 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh/doc/README.AIX 2020-05-31 14:04:45 UTC (rev 75986)
@@ -1,35 +0,0 @@
-BRL-CAD on AIX README
-=====================
-
-Dec. 15, 2011 - As of this date, it has been some time since an AIX
-build of BRL-CAD has been tested, and thus far it has NOT been tested
-b with the new CMake build system.
-
-Kitware provides an AIX powerpc binary for CMake, see
-http://www.cmake.org/cmake/resources/software.html
-
-
-Building BRL-CAD under AIX is fairly straightforward using a correctly
-installed version on the GCC compiler. If, however, you are using the
-IBM Visual Age compiler, then there are additional manual compilation
-steps that will be necessary. In particular, the IBM compiler and
-associated standard C library headers are inconsistent with respect to
-ANSI/POSIX compliance compiler options.
-
-The IBM compiler supports a variety of compliance options, the two of
-particular relevance to building BRL-CAD (in terms of being the close
-to obtaining a functional compile) are the strict compliance
-(-qlanglvl=stdc89) or "extended" compliance (-qlanglvl=extc89) modes.
-Problems encountered in our build environment using strict compliance
-does mostly work though we ran into errors in the standard C library
-headers.
-
-Using the "extended" compliance mode resolved the standard C library
-header issues, but introduces problems in the compilation of BRL-CAD
-as the compiler then disables the provision of the __STDC__
-preprocessor symbol. BRL-CAD then defaults back to K&R mode, which
-the compiler verbosely refuses to compile. The "quick fix" that has
-been used in the past is to simply swap the compiler between the two
-modes as when one fails (e.g. strict), the other usually succeeds
-(e.g. extended). Barring that working, you can use extended mode and
-define __STDC__ manually.
Deleted: brlcad/branches/bioh/doc/README.BSD
===================================================================
--- brlcad/branches/bioh/doc/README.BSD 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh/doc/README.BSD 2020-05-31 14:04:45 UTC (rev 75986)
@@ -1,16 +0,0 @@
-BRL-CAD on BSD README
-=====================
-
-BRL-CAD is frequently compiled under various variants of
-BSD including FreeBSD, NetBSD, OpenBSD, and even the original
-4.3 BSD (though now rare) - FreeBSD is the most common BSD
-platform tested, not counting Mac OSX. See the README.VAX
-document for additional details that pertain to building
-BRL-CAD on a VAX running BSD.
-
-CMake binaries for *BSD operating systems are not distributed
-by Kitware, but should be available through standard *BSD
-packaging mechanisms. Failing that, CMake can be bootstrapped
-without much difficulty on most modern Unix-style platforms.
-
-BRL-CAD is included in the FreeBSD Ports system.
Deleted: brlcad/branches/bioh/doc/README.IRIX
===================================================================
--- brlcad/branches/bioh/doc/README.IRIX 2020-05-29 16:33:10 UTC (rev
75985)
+++ brlcad/branches/bioh/doc/README.IRIX 2020-05-31 14:04:45 UTC (rev
75986)
@@ -1,51 +0,0 @@
-BRL-CAD on IRIX README
-======================
-
-Building on IRIX is one of the most tricky platforms to support
-without installing up-to-date compilation tools. That said, the build
-has and should work just fine with either the MIPSPro or GCC
-compilers. The best performance is usually achieved with the MIPSPro
-compiler, whereas GCC will compile faster with less fuss.
-
-Kitware provides CMake binaries for IRIX64 platforms:
-http://www.cmake.org/cmake/resources/software.html
-
-
-Parallel building
------------------
-For parallel compilation on IRIX, the -P option enables parallel
-build mode and the PARALLEL environment variable sets the number
-of CPUs (default is two):
-
-PARALLEL=4 make -P
-
-
-Potential problems you may encounter
-------------------------------------
-
-Symptom: MIPSPro linker reports symbol(s) missing
-
-Description: There's a known bug in the MIPSpro linker involving
-rpaths that are too long (namely longer than 255 characters) so care
-should be taken to not compile in directories that are too deep. The
-way this bug is usually seen is that the build will fail during
-compilation where unresolved symbols are reported during linking,
-symbols that are correctly included in the libraries being linked.
-
-Workaround: It is usually sufficient to retry the compile from a
-shorter path. (e.g., /tmp instead of /some/deep/path/to/brlcad)
-
----
-
-Symptom: GCC crashes during compilation with internal errors
-
-Description: Certain versions of the gcc compiler are known to crash
-with internal error messages, for example on src/mged/animedit.c, when
-using optimization flags (i.e. -O3).
-
-Workaround: Compile in whatever directory is failing with -O0 instead:
- cd src/mged
- sed -i "s/ -O3 / -O0 /g" CMakeFiles/mged.dir/flags.make
- make
- cd ../..
- make
Deleted: brlcad/branches/bioh/doc/README.OSCON-2014
===================================================================
--- brlcad/branches/bioh/doc/README.OSCON-2014 2020-05-29 16:33:10 UTC (rev
75985)
+++ brlcad/branches/bioh/doc/README.OSCON-2014 2020-05-31 14:04:45 UTC (rev
75986)
@@ -1,53 +0,0 @@
-BRL-CAD: A Vibrant Open Source Model
-
-+ intro
-
- - speaker
-
- - old vs. new (Rurel's joke about old farmer and his young farmhand)
-
-+ overview
-
- - history, players
-
- Mike Muuss [author of ping]
-
- - license
-
- - languages (Ohloh stats)
-
-+ important technical features
-
- - database format
-
- - tools
-
- - libraries
-
- - use of other FOSS libraries
-
- - road map
-
-+ other features
-
-+ community
-
- - players (Ohloh stats)
-
-+ process
-
- - Source Forge
-
- - API changes
-
- - deprecation policy
-
- - release procedures
-
- - version control
-
- - bug tracking
-
-- policy
-
-- outreach
Deleted: brlcad/branches/bioh/doc/README.Solaris
===================================================================
--- brlcad/branches/bioh/doc/README.Solaris 2020-05-29 16:33:10 UTC (rev
75985)
+++ brlcad/branches/bioh/doc/README.Solaris 2020-05-31 14:04:45 UTC (rev
75986)
@@ -1,61 +0,0 @@
-BRL-CAD on Solaris README
-=========================
-In recent years, there have been a variety of Solaris-style operating
-systems that have appeared, following Sun's open-source release of
-OpenSolaris. OpenSolaris itself doesn't seem to be especially active, but
-another derivative system called OpenIndiana has appeared, based on the
-illumos kernel - the Solaris file will be the place to add any notes
-needed to build on such derivative systems, as well as Solaris proper.
-
-Kitware does not provide a pre-compiled binary for CMake on Solaris
-type systems. To bootstrap from the source code, try the following:
-
-(You probably want to use gmake and gcc/g++ for this...)
-
-1. Download the source from http://www.cmake.org/cmake/resources/software.html
-2. unzip the tarball: gunzip cmake-X.Y.Z.tar.gz
-3. open the tarball: tar -xvf cmake-X.Y.Z.tar
-4. cd cmake-X.Y.Z
-5. CXX=g++ ./bootstrap -prefix=/home/user/cmake-install (or your preferred
directory)
-6. gmake
-7. gmake install
-
-Then (if you installed to somewhere other than a system dir) add the
-bin directory to your path:
-
-csh: setenv PATH /home/user/cmake-install/bin:$PATH
-bash: export PATH=/home/user/cmake-install/bin:$PATH
-
-From there, you should be good to build BRL-CAD. The most recent tests
-of the Sun Studio compiler suggest that there are issues to resolve,
-so (unless you want to fix those issues, which would be welcome!) you
-probably want to use the GCC compiler suite to build BRL-CAD as well:
-
-CC=gcc CXX=g++ cmake ../brlcad
-
-If while compiling you encounter an error "Text relocation remains
-against symbol" along with some number of lines following, it usually
-means that the build has attempted to link a static system library
-into a shared library being compiled (e.g. attempting to link a system
-libz.a into the png library distributed in src/other/libpng being
-compiled as libpng.so). If this happens, it likely indicates a problem
-with the CMake build logic and should be reported as a bug - you may also
-need to install a shared version of the library. Another possibility
-would be to add -mipure-text to the linker flags.
-
-OpenIndiana
------------
-
-To build with gcc and CMake on OpenIndiana, you need to install the
-following packages:
-
-pkg install pkg:/developer/gcc-7
-pkg install pkg:/developer/build/cmake
-pkg install pkg:/developer/versioning/subversion
-pkg install pkg:/system/header
-pkg install pkg:/developer/lexer/flex
-
-(Note that gcc-7 building doesn't work as of 2017-08-23 - the above
-install list is a starting point, but the repo currently doesn't
-build and isn't close to building. It may be an older gcc would
-have better luck...)
Deleted: brlcad/branches/bioh/doc/README.VAX
===================================================================
--- brlcad/branches/bioh/doc/README.VAX 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh/doc/README.VAX 2020-05-31 14:04:45 UTC (rev 75986)
@@ -1,43 +0,0 @@
-BRL-CAD on VAX README
-=====================
-
-One of the first systems to run BRL-CAD was the VAX. In particular, a
-VAX 11/780 named VGR is the baseline reference machine for the BRL-CAD
-Benchmark suite. Through the 80's and most of the 90's, BRL-CAD was
-compiled for and maintained on VGR running 4.3 BSD until the hardware
-was finally decommissioned.
-
-BRL-CAD has been successfully compiled for and run under the simh
-Computer History Simulation Project's VAX simulator. Using this
-simulator, it's feasible to install one of the BSD variants
-(e.g. NetBSD) and the GCC compiler.
-
-No one has tried bootstrapping CMake on a VAX simh NetBSD image yet, so it
-is not known what problems may occur - the basic bootstrap procedure is:
-
-1. Download the source from http://www.cmake.org/cmake/resources/software.html
-2. unzip the tarball: gunzip cmake-X.Y.Z.tar.gz
-3. open the tarball: tar -xvf cmake-X.Y.Z.tar
-4. cd cmake-X.Y.Z
-5. CXX=g++ ./bootstrap -prefix=/home/user/cmake-install (or your preferred
directory)
-6. gmake
-7. gmake install
-
-As of the last effort involved in compiling BRL-CAD under this
-environment (using GNU Autotools), there were a few steps
-necessary that included the following:
-
- - Define the preprocessor symbol "vax".
-
- - Disable compilation of libfft and sig. The FFT library builds
- convolution kernels that are too large for the usual VAX memory
- sizes.
-
- - Compile against libm.a instead of libm.so. The shared object
- library (at least under NetBSD) is buggy and will cause run-time
- bus errors (i.e. rt will crash). With CMake, you might try:
- -DM_LIBRARY=/usr/lib/libm.a
-
-After those steps, you should at least be able to perform a benchmark
-compilation (i.e. "make benchmark"), raytrace images, and obtain
-performance metrics.
Deleted: brlcad/branches/bioh/doc/TODO.BREP
===================================================================
--- brlcad/branches/bioh/doc/TODO.BREP 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh/doc/TODO.BREP 2020-05-31 14:04:45 UTC (rev 75986)
@@ -1,304 +0,0 @@
-BREP TODO
-=========
-
-Included below is a basic work breakdown related to the implementation
-of boundary representation (BREP) support in BRL-CAD. Feel free to
-add to or expand this list and/or embellish it with additional
-information as appropriate. If you would like to work on the BREP
-implementation, send a note to the brlcad-devel mailing list.
-
-This file is a general scratch pad for categorizing and itemizing BREP
-implementation tasks. It is not an implementation plan.
-
-This is a work in progress.
-
-
-Geometry Entities
------------------
-
-point
-line (e.g., line segment, ray, bidirectionally infinite line)
-line set (e.g., polyline, polygon)
-curve (e.g., spline, arc, circle, ellipse)
-plane
-surface (e.g., spline, polygonal)
-surface+curve (i.e. a trimmed surface)
-solid
-
-
-Geometry Evaluation
--------------------
-
-point -> point
-point -> line
-point -> curve
-point -> plane
-point -> surface
-point -> surface+curve
-point -> solid
-
-line -> line
-line -> curve
-line -> plane
-line -> surface
-line -> surface+curve
-line -> solid
-
-curve -> curve
-curve -> plane
-curve -> surface
-curve -> surface+curve
-curve -> solid
-
-plane -> plane
-plane -> surface
-plane -> surface+curve
-plane -> solid
-
-surface -> surface
-surface -> surface+curve
-surface -> solid
-
-surface+curve -> surface+curve
-surface+curve -> solid
-
-solid -> solid
-
-
-Geometry Queries
-----------------
-
-[ geometric properties ]
-intersects
-inside
-outside
-on
-intersectionSet
-firstIntersectionSet
-closestDistance
-closestSet (e.g., closestPoint)
-booleanEvaluation
-insideSet (e.g., insideSolid, insideLoop (trimmed))
-outsideSet
-onSet
-
-[ parametric properties ]
-uvSpace <--> ImageSpace Mapping (for ALL primitive types)
-curvatures
-normalSet (e.g., normalVector, normalPlane)
-tangentSet (e.g., tangentVectors, tangentPlanes)
-
-[ checks ]
-isValid
-isSolid
-isManifold
-isFlat
-
-[ bounding volumes ]
-boundingBox
-boundingSphere
-
-
-Geometry Modifiers
-------------------
-
-scale
-rotate
-translate
-shear
-
-mirror
-copy/clone
-delete
-
-invertRepresentation
-evaluateBoolean (i.e. CSG)
-snapTogether (e.g., | -)
-
-sweep
-extrude
-revolve
-extend/stretch
-
-trim (e.g., cutting plane)
-split (i.e. copy and two trims)
-
-fillet
-chamfer
-
-
-Ray Tracing
------------
-
-intersectionSet query
- boundingBox
- line -> solid evaluation
-normalSet query
- line -> solid evaluation
-
-line->solid evaluation
- line->surface || line->plane
-
-line->plane
- line->line
-
-line->surface
- line->curve || line->line
- closestDistance
-
-closestDistance
- point->plane
- point->point
-
-line->curve
- line->point
-
-line->line
- line->point
-
-line->point
- point->point
-
-
-Interactive Visualization
--------------------------
-
-implicit primitive to solid conversion
-solid on solid CSG evaluation (i.e. unevaluated to evaluated BREP)
-solid tessellation
-
-
-Conversion
-----------
-
-3DM to BRL-CAD
-BRL-CAD to 3DM
-STEP to BRL-CAD
-IGES to BRL-CAD
-BRL-CAD to STEP
-BRL-CAD to IGES
-
-
-********************************************************************************
- Below are some thoughts and notes about specific issues related to the above
- topics - may be useful as comments at some point, or at least food for
thought.
-********************************************************************************
-
-/*
- * Point-Point Evaluation
- *
- * Answer Evaluation Questions involving two points:
- *
- * 1. Intersection - for a point, there are three possible categories of of
intersection:
- * * Identical - point values identical and all bound values identical
- *
- * * * * * * * * *
- * * *
- * * 1 2 *
- * * * *
- * * *
- * * *
- * * * * * * * * *
- *
- * * Contained - values not all identical but bounds of the point of
interest all smaller than bounds of
- * point it is being compared to
- *
- *
- * * * * * * * * * * * * * * * * * * *
* *
- * * 1 * *
*
- * * * * * * * * * * * * * *
*
- * * * * * * * 1 *
*
- * * * 2 * * * * *
*
- * * * * * * * 2 *
*
- * * * * * * * * * * * * * *
*
- * * * * * * * * * * * * * * * * * * *
* *
- *
- *
- * * Overlapping - values not all identical but bounds of the point of
interest all overlap bounds of
- * the point it is being compared to. (Note: a corner
case is when the value of the upper
- * bound of one point is equal to the lower bound of the
other - this is defined to be
- * overlapping.)
- *
- *
- * * * * * * * * * * * * * * * * *
* * * * * * * *
- * * * * *
* *
- * * 1 * * * * * * * * * * *
* * * * * * * * * *
- * * * * * * * * * * * * 1 * *
* * 1 * *
- * * * * * * * * *
* * * *
- * * * * * * * * * * * * * * * * * * *
* * 2 * *
- * * 2 * * 2 *
* * * * * * * * *
- * * * * *
* *
- * * * * * * * * * * * * * * * * * *
* * * * * * * * *
- *
- *
- * 2. Outside - "If the points are not identical in value and/or error
bounds, is the point of interest and its error
- * bounds contained or overlapping with the comparison point, or vice
versa? If not, the point of interest is
- * outside the comparison point.
- *
- * Contained and Overlapping points present a problem. Take the case
where two points have an overlapping bound
- * and a third point must decide its relationship with each of them:
- *
- * * * * * * * * *
- * * *
- * * 1 *
- * * *
- * * * * * * * * * * * * * * * * *
- * * * * * * *
- * * * * * * * * * * *
- * * 2 * * 3 *
- * * * * *
- * * * * *
- * * * * * * * * * * * * * * * * *
- *
- * Point 1 and Point 2 overlap and may intersect. When Point 3
evaluates its relationships with Point 1 and
- * Point 2, it finds that it overlaps and may intersect Point 1, but it
does NOT overlap Point 3. This means
- * that Point 1 may intersect Point 2 OR Point 3, but NOT both at the
same time. Any assumption of equality
- * involving any of these three points must decide how to handle this
situation, and the decision must be both
- * consistent and reproducible. The possible decisions are:
- *
- * 1 = 2, 1 != 3
- * 1 != 2, 1 = 3
- *
- * In order to have a concrete method for deciding this question, point
evaluation cannot be a local, two point
- * only test. It is necessary to search out all points which overlap
the two points in question (i.e. the only
- * points which might impact the decisions of which points are identical
in this particular case) and resolve the
- * question amongst all of them. One possibility would be to assemble
all the guaranteed non-equalities among
- * the set, search for the shortest distance between values among the
remaining possible relationships, and assign
- * intersection status based on those results. (This may not be
sufficient - bounding box size may also be
- * important.) For the original two points supplied, the question of
intersection or non-intersection is now
- * resolved as long as no geometry changes are made to any element that
has bounds overlapping their individual
- * bound.
- *
- * Once this near space evaluation is done, each point's list of
intersecting and non-intersecting points is updated.
- * A query routine with two points can first check the points' own
intersection/non-intersection lists to see if
- * the answer is already pre-determined. If it is not, determining via
the bounds inside/outside is straightforward
- * and deterministic and it cannot be intersecting.
- *
- * One question is what to do when the geometry DOES change. New
geometry may potentially change the decisions
- * on what is and is not intersecting - perhaps it should? Potential
trouble there with overlapping vs. non-
- * overlapping regions.
- */
-
-SOLID NURBS RAYTRACING ROBUSTNESS IMPROVEMENT/REFINEMENT
-
-One of the difficult tasks with solid raytracing is determining reliably when
we're inside or outside in cases where
-BRep edges don't exactly join up geometrically. OpenNURBS has tolerances
which define such shapes as "valid", but the
-mathematics of the ray interesection will still report wonky results once hit
points get inside those tolerance regions.
-
-We have resolution logic that tries to handle ambiguous cases, but one
potential technique we are not currently using
-would use the bounding box information from the NURBS prep trees to augment
that logic's robustness (or, more precisely,
-bound the portions of the ray segment within which point ambiguities need to
be resolved.)
-
-The current thought is to use the not-on-surface-point bounding box points
(which we can categorize as inside or outside
-relative to the surface they are bounding by construting vectors from on
surface points to those points and comparing
-them to the surface normal vectors) and the surface points themselves to
construct an outer and inner bounding volume
-for the BRep (to be reliable, we would also have to take care that we refine
enough to avoid self intersections in
-those volumes.) The overall bounding box of the outer volume should always be
larger than that of the inner volume,
-so a comparison of those would allow us to flip them if the "wrong" box is too
big to deal with a BRep with inverted
-surface normals. (Might actually also allow us to reliably detect and fix
such BReps, but that's a different topic.)
-
-Once we have the outer bounding volume, we intersect that along with the NURBS
BRep itself and use the ray segments
-from the outer bounding volume as bounding regions within which we resolve any
point ambiguities. This should allow
-us to "locally" resolve issues in such a way that doesn't accidentally flag
(say) a grazing corner hit as the in
-hit for a clean hit pair much further down the shotline (which will result in
a long "solid" segment through empty
-space.)
Deleted: brlcad/branches/bioh/doc/TODO.shaded_displays
===================================================================
--- brlcad/branches/bioh/doc/TODO.shaded_displays 2020-05-29 16:33:10 UTC
(rev 75985)
+++ brlcad/branches/bioh/doc/TODO.shaded_displays 2020-05-31 14:04:45 UTC
(rev 75986)
@@ -1,122 +0,0 @@
-Consolidated from an e-mail thread and several e-mail messages by Sean
-to the BRL-CAD developers list in Jun 2013 which includes this message:
-
-https://sourceforge.net/mailarchive/forum.php?thread_name=02c584af-d1ad-4d23-9837-1412eed14350%40me.com&forum_name=brlcad-devel
-
-> 4. Finally we will get rid of wireframes. However, we will be able
-> to easily enable or disable shaded geometry or vice versa.
-
-We're not getting rid of wireframes. Shaded display geometry becoming
-the default, however, is already planned and in the works. NURBS
-surface-surface intersections (Wu's project) are required for that to
-happen.
-
-...
-
-Making wireframes not be the default is one of several reasons why
-we've been working on NURBS infrastructure. Not understanding why
-this is required given our representation format is usually an
-indication that someone does not yet understand the fundamental
-problem... which is not meant to be taken in a negative way. MOST
-people don't have experience with our particular problem domain which
-is specific to having mathematically-based implicit geometry
-representations along with boolean operations.
-
-When most people say shaded display, they usually think of OpenGL,
-Direct3D, games, other modeling systems, etc. Those systems are
-driven by polygons (triangles). To have that style of shaded display,
-you have to have polygons. We do not have polygons. We do not have a
-robust method for getting polygons. NURBS gives us a robust method.
-
-When we can 1) convert any geometry to NURBS, 2) evaluate any
-booleans, and 3) tessellate NURBS robustly, it will be possible to
-have robust shaded displays for all geometry. #1 was finished last
-year primarily thanks to Cliff and Wu. #3 was finished just this year
-primarily due to Keith. Work on #2 is underway and is scheduled to be
-finished this year..
-
-It's been a while since I've had to succinctly describe the problem
-and solution, so hopefully that is all understandable to everyone.
-There are several independent tasks that will need to be completed is
-anyone wants to help us get there more quickly. ;)
-
-...
-
-> Sean, are those tasks grouped somewhere in the TODO list, or?
-
-Not in such a succinct form because there is a lot of interrelation
-with other tasks/projects. E.g., one can frame reliable STEP NURBS
-import is just as important for shaded displays because users usually
-want to view their own existing data. Or once we have robust boolean
-evaluation of NURBS, most of our converters will need to be updated to
-use the new method ... that's a lot of work. :)
-
-Some tasks that come to mind related to shaded displays are:
-
-* library routine for boolean evaluation of NURBS
-
-* library routine for non-solid NURBS tessellation (capability exists,
- but not as formal API)
-
-* library routine for solid NURBS tessellation (capability exists, but
- not as formal API)
-
-* libgcv routine to perform NURBS boolean evaluation and tessellation
-
-* connecting "facetize" command to use libgcv (solid tessellation)
-
-* migrate current converter polygonal mesh boolean evaluation method
- of NMG-based converters to libgcv
-
-* updating all NMG-based exporters to use new libgcv routine, retain
- old method as legacy option
-
-* updating mged/archer to utilize boolean evaluated NURBS as a
- visualization mode
-
-Other useful but maybe not strictly necessary tasks:
-
-* optimize NURBS prep
-
-* connecting "E" and "ev" commands to use libgcv (non-solid or solid)
-
-* implement support for plate-mode NURBS
-
-* update STEP and 3DM converters to support non-solid NURBS import via
- plate-mode
-
-* libgcv routine to perform NURBS healing (close near-solid NURBS
- geometries)
-
-* update NURBS importers to with option to perform healing on import
-
-* update NURBS ray tracing to perform reparameterization/healing
- during prep
-
-* update IGES importer to import NURBS directly
-
-* implement OBJ NURBS import support
-
-* parallelize single-object NURBS prep (particularly the surface tree
- building)
-
-* parallelize boolean evaluation of NURBS
-
-* parallelize NURBS tessellation
-
-* refactor libdm API to better support (polygonal,curve,point) display
- lists
-
-* refactor libdm implementation to re-encapsulate platform-specific
- logic (no #ifdefs in public headers)
-
-* review old bspline NURBS logic, integrate useful portions, then
- remove the rest
-
-* formally document our BREP/NURBS primitive, capabilities and
- limitations
-
-That's just off the top of my head. There are undoubtedly other tasks
-involved but that's a partial list. Some/many of them are already in
-the TODO file, but many are not yet. Feel free to
-expand/incorporate/ignore. ;)
Deleted: brlcad/branches/bioh/doc/archer_ack.txt
===================================================================
--- brlcad/branches/bioh/doc/archer_ack.txt 2020-05-29 16:33:10 UTC (rev
75985)
+++ brlcad/branches/bioh/doc/archer_ack.txt 2020-05-31 14:04:45 UTC (rev
75986)
@@ -1,11 +0,0 @@
-
-Archer was developed by SURVICE Engineering under the Phase II Small Business
Innovative Research (SBIR) grant AF03-141 (reference contract FA8651-04-C-0137)
under the supervision of Lt. Edwin Rodriguez (AFRL/MNAL) (reference
crossbow.survice.com).
-
-Archer is built upon BRL-CAD. SURVICE would like to acknowledge the
contribution and support from the Army Research Laboratory (ARL) BRL-CAD
Development Team, without which Archer would not be possible.
-
-The following is the Archer Development Team:
-- Bob Parker: Principal programmer
-- Doug Howard: Original coding
-- Keith Bowman: Architecture
-- Steve Phillips: Website and Software Change Request (SCR) tracking system
-- Mark Butkiewicz: Project Management
Deleted: brlcad/branches/bioh/doc/benchmark.tr
===================================================================
--- brlcad/branches/bioh/doc/benchmark.tr 2020-05-29 16:33:10 UTC (rev
75985)
+++ brlcad/branches/bioh/doc/benchmark.tr 2020-05-31 14:04:45 UTC (rev
75986)
@@ -1,849 +0,0 @@
-.\" $Header$
-.\" groff -t -ms -X benchmark.tr
-.\" groff -t -ms benchmark.tr | print-postscript
-.\"
-.\" sort '-t ' +7nr -8
-.de BR
-\fB\\$1\fR\\$2
-..
-.TL
-The BRL-CAD Benchmark Suite
-.AU
-Michael John Muuss
-.AU
-Charles M. Kennedy
-.AU
-Lee A. Butler
-.AI
-The U.S. Army Research Laboratory
-.PP
-This document describes the BRL-CAD Benchmark Suite Methodology, and
-the Ray-Tracing Figure of Merit (RTFM) used to judge the computational
-performance of different computer systems.
-.PP
-The core of the test is the \fBrt\fR ray-tracing program. The results
-for each processor are determined by running a benchmark test of the
-RT ray-tracing program on each of the sample databases provided. The
-\fBrt\fR program requires a binary database for input ("db/xxx.g"),
-and produces a binary image as output ("bench/xxx.pix"), along with a
-log file ("bench/xxx.log"). Each run will produce a 512x512x24 bit
-color shaded image in a "bench/xxx.pix" file, and a run log in
-"bench/xxx.log". Reference copies of the images are provided as
-"pix/xxx.pix" and "pix/xxx.log". The sample databases provided are
-processed in order of increasing difficulty, and each produces a
-colorful image. In each picture there are two light sources; the
-primary source is located near the center of the model (the white
-ball), and the secondary light source is located at the "eye"
-position.
-.NH 1
-The Benchmark Models
-.LP
-moss.g -- This is a simple model, containing a yellow torus, a green
-ellipsoid, a bluish cube, a pink truncated (distorted) cone, all
-sitting on a blue plate. Note the shadowing, and "specular splash".
-.sp
-world.g -- The same model as moss.g, but with various rendering
-features enabled. The model is enclosed in a hollow cloud sphere.
-The plate is a mirror, the egg is crystal, the box has a debugging
-texture map applied.
-.sp
-star.g -- A familiar sight to Star Trek fans; a low-detail exterior of
-the ship "Enterprise". The hull is white, with some other structures
-in other colors. The small red object in the foreground is the
-shuttlecraft Galileo, to scale.
-.sp
-bldg391.g -- An exploded view of a two-story imaginary computer site,
-including various walls, red stairways, green disk drives, etc. The
-lower floor is a mirror, the upper floor is glass.
-.sp
-m35.g -- A truck.
-.sp
-sphflake.g -- A sphereflake.
-.NH 1
-MACHINE INDEPENDENCE
-.PP
-To make the benchmark distribution machine independent, the databases
-are provided in an ASCII format in the "db" directory, and
-ascii-to-binary converters are provided in the "conv" directory. The
-setup command "\fBcake benchmark\fR" (see the document \fIInstalling
-the BRL-CAD Package\fR) will automatically compile and run the
-converters.
-.PP
-If you are running this benchmark on a non-UNIX machine that has
-difficulty writing binary streams, change the "-o file.pix" flag to
-"-O file.a_pix" and RT will write an ASCII form directly. For more
-discussion, consult the doc/pix.5 and conv/asc2pix.1 manual pages.
-.PP
-The reference images are distributed in binary BRL-CAD
-.BR pix (5)
-format. Earlier releases distributed the reference images in the
-portable ASCII form, and then converted them to the binary form. This
-consumed a significant amount of extra storage on UNIX machines, so
-this practice was discontinued. It is assumed that anyone attempting
-to benchmark a system that can not read pure binary files will at
-least have access to a UNIX system. That UNIX system can be used to
-convert the reference images to the portable ASCII form with the
-.BR pix2asc (1)
-tool, and then those images may be sent to the machine under test.
-.PP
-Information about modifying the benchmark to run on a particular
-system may be found in the document \fIInstalling the BRL-CAD
-Package\fR. For a detailed explanation of various hardware specific
-modifications necessary to take advantage of parallel processing, see
-the document \fIWorkstations, Networking, Distributed Graphics, and
-Parallel Processing\fR. Implementations for several different types
-of hardware in use at ARL are included.
-.PP
-If you encounter difficulty with running the benchmark, you might wish
-to build the full BRL-CAD package, to take advantage of the image
-tools in determining the nature of the problem. For example, one
-system suffered from a compiler bug that made TGC solids vanish, while
-another system had difficulties with the light visibility
-calculations.
-.NH 1
-OBTAINING CORRECT RESULTS
-.PP
-The benchmark timings are not considered valid unless the correct
-results are given. Make sure that the answers match the reference
-files to within plus-or-minus one in each color (see pixdiff(1)).
-Slight variations in the calculated pixels are generally attributable
-to variations in floating point precision. You may wish to compare
-the execution times and log file remarks from your tests (in the
-"bench/xxx.log" files) with the VAX-11/780 (with hardware FPA) times
-which are given in the "pix/xxx.log" files. The log file for sphflake
-has yet to be run on the same system, causing weighted results. It's
-still useful and informative, however, for deriving performance
-statistics. The reference images are also located in the "pix/"
-directory.
-.PP
-For example, if you are running the benchmark on a Cray XMP, the
-world.pix and bldg391.pix images will have a single byte in the blue
-channel off by 1, out in the cloud background. This is not to be
-considered an error.
-.NH 1
-BENCHMARK IMAGE DISPLAY
-.PP
-If you have a suitable framebuffer, you may wish to display the images
-generated by the benchmark, and compare them to the reference images.
-This section assumes that you have successfully compiled the full set
-of BRL-CAD software, not just the benchmark portion. Programs for
-dealing with images are in the "util" directory. To display a
-\fBpix\fR(5) file on a framebuffer, set environment variable FB_FILE
-(see \fBbrlcad\fR(1) for details), and run \fBpix-fb\fR. Note that by
-leaving FB_FILE unset, your default display will be used.
-.sp
-.nf
-.ft B
- cd bench
- pix-fb moss.pix
-.ft R
-.fi
-.sp
-If the images computed on your machine do not match the reference
-images, the program "util/pixdiff" will compute a pix file that will
-highlight the differences for you, and report a summary of bytes
-equal, off-by-1, and off-by-many, e.g.,
-.sp
-.ft B
- pixdiff moss.pix ../pix/moss.pix \(or pix-fb
-.ft R
-.fi
-.sp
-For a display of the relative magnitude of the differences at each
-pixel, use "util/bwdiff" instead, e.g.,
-.sp
-.nf
-.ft B
- bwdiff moss.pix ../pix/moss.pix \(or pix-fb
-.ft R
-or
-.ft B
- bwdiff moss.pix ../pix/moss.pix \(or \\
- bwmod -s 128 -m 4 -a 128 \(or pix-fb
-.ft R
-.fi
-.sp
-and for statistics on the differences, use
-.sp
-.ft B
- bwdiff moss.pix ../pix/moss.pix \(or pixstat
-.ft R
-.ne 8i
-.NH 1
-THE COMPETITION
-.PP
-The full benchmark takes about 9 CPU hours on a VAX-11/780, so you
-should scale your expectations accordingly.
-.PP
-Here is a sampling of some systems that have been tested, with as much
-information about the configuration as could be obtained. Some
-systems have a great many options for small things that can affect
-performance, such as memory interleaving.
-.LP
-.TS
-center box;
-l l.
-System Name Configuration
-_ _
-axposf DEC Alpha 4000/710, 256M, OSF/1 V3.0 \(dg
-ex-art Pentium-P90, 16MB, 256K cache, BSD/OS 2.0,
-hawks 486DX/33, 24MB, 256K cache, BSD/OS 2.0
-orac 486/100, 20MB, No cache, BSD/OS 2.0 (laptop)
-pk Cray C90, C916/161024, UNICOS 8.0.2.4
-vapor SGI, 18* 75 MHz R8000 IP21, 1024M RAM 8-way, Irix 6.0
-vblt 66 MHz 486DX2/66, 16M RAM, Linux 1.1.73
-vgr DEC VAX-11/780 w/FPA, 64M RAM, 4.3 BSD
-vision Sun-3/280 w/68881 FPA, 16M RAM, SunOS 4.1.1
-voyage SGI, 4* 25 MHz R3000 IP7, 56M RAM, Irix 4.0.1
-whiz SGI Ingido**2, 100 MHz IP22, 96M RAM, Irix 5.2
-waffle SGI, 4* 25 MHz R3000 IP7, 64M RAM, Irix 4.0.5 (heavy network use)
-warp Sun SPARCstation 5, 32M RAM, SunOS 4.1.4
-wax SGI, 24* 150 MHz R4400 IP19, 1024M RAM 4-way, Irix 5.2
-wilson SGI, 8* 100 MHz R4400 IP19, 1024M RAM 8-way, Irix 5.2
-wilted Sun-4/25 ELC, 16M RAM, SunOS 4.1.1
-wimp 33 MHz 386DX/33 w/387, 256k cache, 16M RAM, BSDI 2.0beta2
-wimpy Sun SS10BSX-GX, 2* 50 MHz SuperSPARC, 64M RAM, SunOS 5.4
-wizard SGI Ingido**2, 150 MHz IP22, 96M RAM, Irix 5.3
-.TE
-\(dg The Alpha was heavily loaded while the benchmark was being run.
-DEC requires us to show the load average at the time:
-.br
-03:28 up 18 days, 10:59, 7 users, load average: 2.00, 2.00, 2.08
-.NH 1
-BENCHMARK RESULTS
-.PP
-In the tradition of Dongarra, the Rays/sec figure is considered the
-"RT Figure of Merit" (RTFM). Note that the RTFM can only be compared
-between different runs on the \fIsame\fR database; it is not
-meaningful to compare RTFM numbers between different databases. The
-Rays/sec number for a multi-processor machine is for "aggregate CPU
-cluster seconds", rather than rays/total CPU seconds (which remains
-fairly constant on good parallel machines).
-.PP
-The statistics are recorded in an easily understood format, with all
-results for a particular configuration listed on a single line. The
-numbers reported are the rays/sec (RTFM) figure. Entries denoted with
-a dagger ("\(dg") produced incorrect results. Entries denoted with a
-dash ("-") were not available and should be considered differently
-than those entries with a dagger. Generally the results are not
-available because time constraints prevented running the complete set
-of databases.
-.fi
-.br
-.ne 8i
-.NH 1
-RELEASE 4.4 STATISTICS (4-Jan-1995)
-.PP
-There is very little difference in RTFM numbers between Release 4.0
-and Release 4.4, so they can be usefully compared. In some cases the
-4.4 performance is slower due to the use of shared libraries. For
-example "vision" dropped from 1.33 to 1.22 due to the shared
-libraries. For most users reducing the disk consumption from 300
-MBytes to 30 MBytes makes this a reasonable tradeoff. However, for
-the best performance, use non-shared libraries.
-.LP
-.TS H
-expand box;
-l | n n n n n | n | l.
-H/W Moss World Star Bldg M35 Mean S/W Notes
-_
-.TH
-vapor 810.91 1091.39 1012.63 1027.25 1092.85 1007 -P18 static
-vapor 773.8 1038.7 979.49 970.91 1036.62 959.9 -P17
-vapor 732.85 1021.69 968.93 922.62 1024.15 934.04 -P18 (SW lock)
-wax 769.38 940.83 953.36 924.7 1050.14 927.68 -P24
-vapor 730.17 994.97 934.43 917.1 987.83 912.9 -P16
-wax 725.26 957.68 927.61 932.67 992.75 907.19 -P24
-wax 756.95 915.96 940.43 903.45 966.09 896.57 -P23
-vapor 686.8 939.63 897.72 884.39 927.16 867.14 -P15
-wax 691.18 853.75 887.17 859.32 933.41 844.96 -P21
-wax 724.73 683.08 890.87 900.82 939.31 827.76 -P22
-vapor 645.32 881.18 843.23 801.41 859.26 806.08 -P14
-wax 637.28 757.74 820.21 871.37 877.6 792.84 -P20
-vapor 608.12 835.84 795.36 759.95 806.32 761.11 -P13
-_
-wax 606.98 784.3 754.46 799.95 794.52 748.04 -P19
-wax 590.16 758.23 794.06 794.52 757.79 738.95 -P18
-wax 579.29 722.35 787.55 720.26 754.65 712.82 -P17
-vapor 571.14 783.72 740.47 697.24 746.72 707.85 -P12
-wax 553.72 697.1 744.21 663.61 723.03 676.33 -P16
-vapor 534.85 716.58 685.87 656.25 685.77 655.86 -P11
-wax 519.01 655.57 690.95 651.9 663.92 636.27 -P15
-wax 475.88 637.33 665.38 608.31 653.99 608.17 -P14
-vapor 499.46 663.26 633.48 614.58 624.34 607.02 -P10
-wax 449.16 591.54 616.21 590.59 614.25 572.35 -P13
-vapor 463.3 598.34 575.07 555.62 560.89 550.64 -P9
-wax 424.71 556.8 595.02 521.63 538.78 527.38 -P12
-vapor 424.89 534.5 509.85 497.63 503.99 494.17 -P8
-wax 391.66 490.63 545.28 488.57 508.96 485.02 -P11
-wax 315.45 472.03 525.47 442.37 461.44 443.35 -P10
-vapor 381.1 467.67 440.13 425.57 442.04 431.3 -P7
-wax 309.35 426.37 386.11 417.85 434.96 394.92 -P9
-vapor 336.55 392.2 390.72 373.92 380.03 374.68 -P6
-_
-wax 307.6 361.32 396.07 380.17 380.74 365.18 -P8
-wax 245.87 332.33 362.5 338.62 331.39 322.14 -P7
-vapor 288.45 327.78 328.76 314.54 320.16 315.93 -P5
-wax 254.82 255.29 299.93 302.08 256.54 273.73 -P6
-wilson 223.01 265.17 287.8 262.19 269.62 261.55 -P8
-vapor 240.6 269.93 266.46 253.99 259.05 258 -P4
-wax 215.96 231.65 221.78 248.63 221.45 227.89 -P5
-wax 177.94 185.27 213.74 201.64 197.27 195.17 -P4
-vapor 187.58 198.84 202.28 191.94 194.74 195.07 -P3
-wax 120.4 138.01 162.12 159.36 141.33 144.24 -P3
-vapor 130.61 140.04 134.88 129.38 129.78 132.93 -P2
-wax 100.83 102.09 111.12 87.26 98.62 99.98 -P2
-wimpy 99.10 95.78 92.15 97.51 96.65 96.23 -P2
-wimpy 82.14 93.60 92.17 103.59 82.22 90.74 -P2
-_
-axposf 81.05 82.27 86.72 84.36 79.28 82.73 -P1
-vapor 79.68 77.7 73.89 71.38 70.06 74.54 -P1 static
-vapor 69.34 70.14 67.52 65.55 66.69 67.84 -P1 shared
-wizard 63.8 55.86 68.97 73.21 61.56 64.68
-wax 62.28 58.58 65.24 67.39 59.31 62.56 -P1
-wax 59.08 56.06 61.45 64.4 56.11 59.42 -P1
-voyage 52.78 55.44 58.19 58.03 52.41 55.37 -P4
-pk 64.89 55.71 48.01 49.50 53.43 54.30 -P1
-waffle 38.56 47.63 62.36 59.62 51.20 51.87 -P4
-wimpy 50.17 48.82 50.46 55.12 49.27 50.76 -P1
-wimpy 47.80 43.23 51.37 54.10 46.23 48.54 -P1
-weber 46.53 43.45 50.88 50.33 46.03 47.44 -P1
-wilson 41.16 39.54 45.98 42.93 34.82 40.88 -P1
-whiz 36.25 31.08 37.21 39.62 36.98 36.22
-warp 19.88 21.33 23.71 24.19 22.60 22.34
-ex-art 16.89 18.54 22.98 26.97 25.57 22.19
-orac 7.57 8.23 10.72 12.43 11.30 10.05
-wilted 9.58 9.53 10.66 10.53 9.87 10.03
-hawks 3.64 4.17 5.71 6.90 6.23 5.33
-vblt 4.85 4.89 5.29 5.24 4.90 5.03
-wimp 1.16 1.34 1.82 2.25 2.06 1.72
-vision 1.07 1.23 1.23 1.31 1.26 1.22 -P1
-vgr 1.0 1.0 1.0 1.0 1.0 1.0
-.TE
-.br
-.ne 8i
-.NH 1
-THE OLD COMPETITION
-.PP
-These are the definitions for systems measured in previous tests.
-.LP
-.TS
-center box;
-l l.
-System Name Configuration
-_ _
-alliant Alliant FX/8 (8 CEs, 9 IPs, 64 Mbytes), Concentrix 3.0
-amber HP 9000/720, 32 MB memory
-amsaa-seer Gould PN 9080, w/MACCs, UTX 2.0, 4x4Mb mem boards
-ardec-3 Pyramid 90Mx, Dual-CPU, OSx 2.5, 16 Mbytes
-bob Cray-2, SN 2009, 4.3ns clock
-cor3 Pyramid MIS-12T/3, OSx 192
-patton Cray X-MP/48, SN213, UNICOS 5.0, 8.5ns clock
-uy1 Cray Y-MP8/2128, UNICOS 5.1.11
-shpcrc2 IBM RS/6000, AIX 3.1
-slc1 Macintosh II, 68020, 68881, AUX 1.1, GCC 1.39
-spark Gould PN 9050, no MACC, UTX 2.0, 2x4Mb mem boards
-sws2 Convex C120, 16 Mbytes, Convex Unix 6.2.32.2
-vector Alliant FX/80 (8 ACEs, 6 IPs, 32 Mbytes), Concentrix
-venom Alliant FX/8 (8 CEs, 6 IPs, 32 Mbytes), Concentrix
-vgr VAX 780, FPA, 4.3 BSD
-virus Sun-3/50, 15 Mhz clock, 12 Mhz 68881, Sun UNIX 3.2
-vista SGI 3030, w/FP chip, UNIX release 3.5
-vmb Gould PN 9080, no MACCs, UTX 2.0, 12x1Mb mem boards
-vhs Silicon Graphics 4D/60T, 12.5 Mhz clock 16 MB memory
-ovoyage Silicon Graphics 4D/120, 16.7 Mhz clock 16 MB memory
-taylor Silicon Graphics 4D/220, 25 Mhz clock 16 MB memory
-crim Silicon Graphics 4DCRIMS 50Mhz clock 128 MB memory
-wiltse Silicon Graphics 4D R4000 50Mhz clock
-c1east T{
-Convex C1 XP (2 IOPs, 4 Multibus, 64 Mbytes),
-S/W 6.0.1.12
-T}
-elxsi-gnu Elxsi 6420, BSD 4.2 16 MB
-elxsi-gnuy Elxsi 6420, Sys Vr2, 16MB
-elxsi-m1 Elxsi 6410, BSD 4.2 16 MB
-hep Denelcor HEP, 4 PEMs
-indigo SGI Iris 3030, FPA, GL2-W3.5
-mseries T{
-MIPS Mseries, Release 0.6, UMIPS 2.1, 16 MB of R2350 RAM.
-R2000 CPU rev 5.0, R2010 FP rev 2.0
-T}
-multiflow Multiflow Trace 7/200 (PRELIMINARY)
-nova T{
-Sun SPARCserver 490, 32 Mb, 33 MHz clock, 33 MHz TI 8847 FPU, SunOS 4.1.1B
-T}
-rh2 Tektronix, Motorola 88000
-snm2 Cray 1-M, SN2, UNICOS 2.0
-sws1 Convex C1, ConvexOS 9.1 48MB memory
-tek4132 Tektronix 4132, 32082 fpp, UTek 2.3
-utah-gr VAX 785, FPA, 4.3 BSD
-utah-cs VAX 8600, FPA, 4.3 BSD
-veto Sun 4/260 32MB memory Sun UNIX 4.0.3
-violet VaxStationII GPX, Ultrix 1.2
-vision Sun-3/280, 16 MB memory
-vortac Sun-3/160, 16.67 Mhz clock, 12 Mhz 68881, Sun 3.2
-walrus Silicon Graphics 4D/280 25 Mhz clock 64 MB memory Irix 3.3.1
-whiz Silicon Graphics 4D/240 25 Mhz clock 56 MB memory Irix 3.3.1
-whisper Sun SPARCStation 1+
-wilted Sun SPARCstation ELC , Diskless, 12MB memory Sun UNIX 4.1.1
-worm Silicon Graphics 4D/280 25 Mhz clock 64 MB memory Irix 3.3.1
-.TE
-.br
-.ne 8i
-.NH 1
-OLD BENCHMARK RESULTS
-.PP
-These are the results of previous benchmarks.
-.NH 1
-RELEASE 1.20 STATISTICS (12-Feb-1987)
-.LP
-.TS H
-expand box;
-l l | n n n n | n | l.
-A/* H/W Moss World Star Bldg Mean S/W Notes
-_
-.TH
-Rays tek4132 80.5 44.0 33.9 31.4 ? UTek 2.3
-*vgr tek4132 0.72 0.69 0.62 0.62 ?
-_
-Rays violet 107.7 57.3 44.7 44.1 ? Ultrix 1.2
-*vgr violet 0.96 0.90 0.81 0.87 ?
-_
-Rays violet 119.0 63.0 50.0 46.3 ? Ultrix 1.2,
-*vgr violet 1.06 0.99 0.91 0.91 ? w/fast_sqrt
-_
-Rays vgr 112.1 63.6 55.0 50.7 ? BSD 4.3
-*vgr vgr 1.0 1.0 1.0 1.0 1.0
-_
-Rays indigo 115.9 85.3 \(dg 101.8 ? GL2-W3.5
-*vgr indigo 1.03 1.34 \(dg 2.01 ?
-_
-Rays vista 116.4 86.0 \(dg 102.3 ? SGI UNIX 3.5
-*vgr vista 1.04 1.35 \(dg 2.02 ?
-_
-Rays virus 127.3 69.9 57.0 52.4 ? Sun UNIX 3.2
-*vgr virus 1.14 1.10 1.04 1.03 ?
-_
-Rays vortac 148.2 81.0 65.8 60.7 ? Sun UNIX 3.2
-*vgr vortac 1.32 1.27 1.20 1.20 ?
-_
-Rays utah-gr 191.8 105.8 89.9 86.5 ? 4.3 BSD
-*vgr utah-gr 1.71 1.66 1.64 1.71 ?
-_
-Rays ardec-3 - 68.4 57.2 - ? OSx 2.5
-*vgr ardec-3 - 1.08 1.04 - ?
-_
-Rays elxsim1 380.5 232.2 204.8 189.3 ? BSD 4.2
-*vgr elxsim1 3.39 3.65 3.72 3.73 ?
-_
-Rays spark 413.4 232.0 213.8 211.9 ? UTX 2.0
-*vgr spark 3.69 3.65 3.89 4.18 ?
-_
-Rays vmb 413.9 233.4 210.6 212.6 ? UTX 2.0
-*vgr vmb 3.69 3.67 3.83 4.19 ?
-_
-Rays c1east 454.8 252.4 205.6 192.3 ? Convex UNIX 6.0.1.12,
-*vgr c1east 4.06 3.97 3.74 3.80 ? vanilla cc
-_
-Rays seer 460.7 263.2 246.8 241.0 ? UTX 2.0
-*vgr seer 4.11 4.14 4.49 4.75 ?
-_
-Rays venom 492.9 228.0 180.0 157.1 ? Concentrix 2.0
-*vgr venom 4.40 3.58 3.27 3.10 ?
-_
-Rays elxgnu 520.6 315.4 264.4 242.0 ? BSD 4.2
-*vgr elxgnu 4.64 4.96 4.81 4.77 ?
-_
-Rays utah-cs 521.1 292.1 237.4 216.2 ? BSD 4.3
-*vgr utah-cs 4.64 4.59 4.32 4.27 ?
-_
-Rays c1east 521.6 285.3 230.5 215.1 ? Convex UNIX 6.0.1.12,
-*vgr c1east 4.66 4.49 4.20 4.24 ? vc -O1 (scalar)
-_
-Rays c1east 527.7 287.4 228.7 210.0 ? Convex UNIX 6.0.1.12,
-*vgr c1east 4.71 4.52 4.16 4.14 ? vc -O2 (vector)
-_
-Rays elxgnuy 644.7 349.3 264.6 242.1 ? System Vr2
-*vgr elxgnuy 5.75 5.49 4.81 4.77 ?
-_
-Rays mflow 845.2 439.5 313.1 338.9 ? (preliminary)
-*vgr mflow 7.54 6.91 5.69 6.68 ?
-_
-Rays venom 904.9 424.6 349.3 312.6 ? Concentrix 2.0,
-*vgr venom 8.07 6.68 6.35 6.17 ? 2 CEs, no vectors
-_
-Rays venom 1375.5 650.0 523.4 459.9 ? Concentrix 2.0,
-*vgr venom 12.27 10.22 9.52 9.07 ? 3 CEs, no vectors
-_
-Rays venom 1813.5 845.5 686.0 600.7 ? Concentrix 2.0,
-*vgr venom 16.17 13.29 12.47 11.85 ? 4 CEs, no vectors
-_
-Rays venom 2364.1 1104.4 870.2 775.9 ? Concentrix 2.0,
-*vgr venom 21.08 17.36 15.82 15.3 ? 5 CEs, no vectors
-_
-Rays snm2 2492.9 - - - ? Unicos 2.0,
-*vgr snm2 22.24 - - - ? no vectors, no optim
-_
-Rays hep 2502.0 - - - ? 1 PEM, npsw=10
-*vgr hep 22.32 - - - ?
-_
-Rays venom 2811.4 1319.0 1051.6 918.0 ? Concentrix 2.0,
-*vgr venom 25.08 20.74 19.12 18.1 ? 6 CEs, no vectors
-_
-Rays venom 3248.8 1533.0 1232.3 1065.9 ? Concentrix 2.0,
-*vgr venom 28.98 24.10 22.41 21.02 ? 7 CEs, no vectors
-_
-Rays patton 3453.3 1514.3 1271.2 1027.3 ? COS V115BF2
-*vgr patton 30.81 23.81 23.11 20.26 ? 1 CPU, no vectors
-_
-Rays venom 3677.3 1724.2 1375.4 1208.4 ? Concentrix 2.0,
-*vgr venom 32.80 27.11 25.01 23.83 ? 8 CEs, no vectors
-_
-Rays alliant 3972.9 1840.0 1457.2 1266.4 ? Concentrix 3.0,
-*vgr alliant 35.44 28.93 26.49 24.98 ? 8 CEs, no vectors
-_
-Rays hep 4055.9 - - - ? 1 PEM, npsw=40
-*vgr hep 36.18 - - - ?
-_
-Rays patton 6856.6 - 2522.2 - ? COS V115BF2
-*vgr patton 61.16 - 45.86 - ? 2 CPUs, no vectors
-_
-Rays patton 10205.1 - 3749.9 - ? COS V115BF2
-*vgr patton 91.04 - 68.18 - ? 3 CPUs, no vectors
-_
-Rays patton 13320.2 - 4955.6 - ? COS V115BF2
-*vgr patton 118.82 - 90.10 - ? 4 CPUs, no vectors
-.TE
-.NH 1
-RELEASE 2.3 STATISTICS (2-Nov-1987)
-.LP
-.TS H
-expand box;
-l l | n n n n | n | l.
-A/* H/W Moss World Star Bldg Mean S/W Notes
-_
-.TH
-Rays vgr 118.8 64.9 36.5 34.2 ? BSD 4.3
-*vgr vgr 1.0 1.0 1.0 1.0 1.0
-_
-Rays vmb 375.4 218.6 186.4 196.2 ? UTX 2.0
-*vgr vmb 3.16 3.37 5.11 5.74 ?
-_
-Rays venom 468.2 221.7 166.1 144.9 ? Concentrix 3.0,
-*vgr venom 3.94 3.42 4.55 4.24 ? 1 CE, no vectors
-_
-Rays sws2 471.9 258.4 202.5 186.4 ? Convex Unix 6.2.32.2
-*vgr sws2 3.97 3.98 5.55 5.45 ? vanilla cc -O
-_
-Rays vector 656.6 301.6 221.1 195.0 ? Concentrix 3.0,
-*vgr vector 5.53 4.65 6.06 5.70 ? 1 ACE, no vectors
-_
-Rays venom 827.3 424.0 327.1 287.9 ? Concentrix 3.0,
-*vgr venom 6.96 6.53 8.96 8.42 ? 2 CEs, no vectors
-_
-Rays vhs 958.3 545.6 447.0 414.1 ? -O2 optimization
-*vgr vhs 8.07 9.41 12.25 12.11 ?
-_
-Rays mseries 988.3 603.5 515.6 491.6 ?
-*vgr mseries 8.32 9.29 14.13 14.37 ?
-_
-Rays vector 1280.9 596.8 436.7 389.2 ? Concentrix 3.0,
-*vgr vector 10.78 9.19 11.96 11.38 ? 2 ACEs, no vectors
-_
-Rays venom 1288.7 630.6 486.4 428.0 ? Concentrix 3.0,
-*vgr venom 10.85 9.72 13.33 12.51 ? 3 CEs, no vectors
-_
-Rays venom 1732.9 853.2 645.4 560.1 ? Concentrix 3.0,
-*vgr venom 14.59 13.15 17.68 16.38 ? 4 CEs, no vectors
-_
-Rays bob 1856.7 801.9 574.1 500.3 ? 1 CPU, UNICOS 3.0,
-*vgr bob 15.63 12.36 15.73 15.62 ? CC -O
-_
-Rays vector 1952.1 881.7 647.6 578.8 ? Concentrix 3.0,
-*vgr vector 16.43 13.58 17.74 16.92 ? 3 ACEs, no vectors
-_
-Rays venom 2158.4 1031.3 797.3 703.1 ? Concentrix 3.0,
-*vgr venom 18.17 15.89 21.84 20.56 ? 5 CEs, no vectors
-_
-Rays bob 2346.1 1127.4 751.0 677.2 ? 1 CPU UNICOS 4.0
-*vgr bob 19.75 17.37 20.57 19.80 ? CC -O
-_
-Rays bob 2423.5 1045.7 719.3 609.4 ? 1 CPU, UNICOS 3.0,
-*vgr bob 20.40 16.11 19.71 17.82 ? VCC -O
-_
-Rays vector 2546.2 1170.0 867.2 758.7 ? Concentrix 3.0,
-*vgr vector 21.43 18.03 23.76 22.18 ? 4 ACEs, no vectors
-_
-Rays venom 2633.7 1232.7 943.4 839.5 ? Concentrix 3.0,
-*vgr venom 22.17 18.99 25.85 24.55 ? 6 CEs, no vectors
-_
-Rays venom 2769.4 1393.3 1098.1 971.6 ? Concentrix 3.0,
-*vgr venom 23.31 21.47 30.08 28.41 ? 7 CEs, no vectors
-_
-Rays vector 3131.2 1453.8 1065.8 945.4 ? Concentrix 3.0,
-*vgr vector 26.36 22.40 29.20 27.64 ? 5 ACEs, no vectors
-_
-Rays venom 3368.7 1605.3 1231.3 1095.11 ? Concentrix 3.0,
-*vgr venom 28.36 24.73 33.73 32.02 ? 8 CEs, no vectors
-_
-Rays patton 3456.5 1691.8 1169.0 1043.6 ? 1 CPU, UNICOS 2.1
-*vgr patton 29.10 26.07 32.03 30.51 ? no vectors
-_
-Rays vector 3686.4 1688.6 1259.1 1129.0 ? Concentrix 3.0,
-*vgr vector 31.03 26.02 34.49 33.01 ? 6 ACEs, no vectors
-_
-Rays vector 4140.3 1953.0 1463.3 1299.7 ? Concentrix 3.0,
-*vgr vector 34.85 30.09 40.09 38.00 ? 7 ACEs, no vectors
-_
-Rays bob 4641.7 2243.4 1498.2 1358.1 ? 2 CPUs, UNICOS 4.0
-*vgr bob 39.07 34.57 41.05 39.71 ? CC -O
-_
-Rays vector 4712.2 2226.3 1649.0 1469.7 ? Concentrix 3.0,
-*vgr vector 39.66 34.30 45.18 42.97 ? 8 ACEs, no vectors
-_
-Rays bob 6884.9 3422.4 2267.7 2034.3 ? 3 CPUs, UNICOS 4.0
-*vgr bob 57.95 52.73 62.13 59.48 ? CC -O
-_
-Rays bob 9477.1 4484.7 2947.0 2832.9 ? 4 CPUs, UNICOS 4.0
-*vgr bob 79.77 69.10 80.76 82.83 ? CC -O
-.TE
-.NH 1
-RELEASE 3.0 STATISTICS (10-Oct-1988)
-.LP
-.TS H
-expand box;
-l l | n n n n | n | l.
-A/* H/W Moss World Star Bldg Mean S/W Notes
-_
-.TH
-Abs vgr 138.85 67.15 54.48 49.11 77.39 BSD 4.3
-*vgr vgr 1.00 1.00 1.00 1.00 1.00 w/FPA
-_
-Abs sdm 163.56 76.98 59.79 52.51 88.21 SunOS 3.4
-*vgr sdm 1.17 1.14 1.09 1.06 1.11 w/68881
-_
-Abs ardec-3 417.95 212.43 177.01 160.73 242.03 9820, OSx 4.1
-*vgr ardec-3 3.01 3.16 3.24 3.27 3.17 -P 1
-_
-Abs spark 443.84 216.92 190.42 192.82 261.00 UTX 2.0
-*vgr spark 3.19 3.23 3.49 3.92 3.37 no MACC
-_
-Abs vmb 482.28 226.33 191.52 193.04 273.29 UTX 2.0
-*vgr vmb 3.47 3.37 3.51 3.93 3.57 no MACC
-_
-Abs sws2 546.23 255.45 183.10 163.85 287.15 Convex 6.2.32.2
-*vgr sws2 3.93 3.80 3.36 3.33 3.60 /bin/cc
-_
-Abs sun4 767.7 373.7 315.5 284.5 435.6 Unix 3.5
-*vgr sun4 5.52 5.56 5.79 5.79 5.62 -O2 optim
-_
-Abs video 940.33 469.30 399.21 367.64 544.12 UNIX 2.0
-*vgr video 6.77 6.98 7.32 7.48 7.13 -O2
-_
-Abs vhs 954.81 471.90 409.78 392.55 557.26 IRix 3.1
-*vgr vhs 6.87 7.02 7.52 7.99 7.45 Parallel, -P1
-_
-Abs bob 2602.68 1078.25 712.39 642.42 1258.93 UNICOS 4.0, /bin/cc
-*vgr bob 21.22 18.17 15.39 13.98 17.19 -P 1
-_
-Abs vector 3811.68 1469.80 1060.50 921.21 1815.79 Alliant 3.0
-*vgr vector 27.45 21.88 19.46 18.75 21.88 -P 5
-_
-Abs vector 4515.09 1751.94 1266.49 1090.85 2156.09 Alliant 3.0
-*vgr vector 32.51 26.08 23.24 22.21 26.01 -P 6
-_
-Abs patton 4550.67 1920.15 1298.61 1153.02 2230.61 UNICOS 3.0, /bin/cc
-*vgr patton 37.10 32.36 28.05 25.09 30.65 -P 1
-_
-Abs vector 5130.74 2004.49 1438.97 1261.36 2458.89 Alliant 3.0
-*vgr vector 36.95 29.85 26.41 25.68 29.72 -P 7
-_
-Abs bob 5186.24 2132.17 1409.10 1273.72 2500.30 UNICOS 4.0, /bin/cc
-*vgr bob 42.28 35.93 30.44 27.71 34.09 -P 2
-_
-Abs vector 5813.76 2260.61 1638.31 1422.82 2783.87 Alliant 3.0
-*vgr vector 41.87 33.66 30.07 28.97 33.64 -P 8
-_
-Abs amber 5901.29 2702.65 2096.35 1893.41 3148.42
-*vgr amber 42.50 40.24 38.47 38.55 39.94 -P 1
-_
-Abs bob 7934.12 3392.98 2119.11 1929.74 3843.98 UNICOS 4.0, /bin/cc
-*vgr bob 64.69 57.18 45.78 41.99 52.41 -P 3
-_
-Abs patton 8898.79 3782.55 2559.48 2292.13 4383.23 UNICOS 3.0, /bin/cc
-*vgr patton 72.56 63.75 55.30 49.88 60.37 -P 2
-_
-Abs bob 10734.52 4436.61 2883.53 2617.47 5168.03 UNICOS 4.0,
/bin/cc
-*vgr bob 87.52 74.77 62.30 56.96 70.38 -P 4
-_
-Abs patton 13078.79 5631.95 3832.88 3416.90 6490.13 UNICOS 3.0,
/bin/cc
-*vgr patton 106.64 94.92 82.81 74.36 89.68 -P 3
-_
-Abs patton 17157.78 7437.55 5073.58 4531.25 8550.04 UNICOS 3.0,
/bin/cc
-*vgr patton 139.90 125.35 109.62 98.61 118.37 -P 4
-.TE
-.bp
-.NH 1
-RELEASE 3.7 STATISTICS (19-June-1989)
-.LP
-.TS H
-expand box;
-l l | n n n n n | n | l.
-A/* H/W Moss World Star Bldg M35 Mean CPU
-_
-.TH
-Abs vgr 128.64 54.47 45.17 40.35 49.02 63.53 1
-*vgr vgr 1.00 1.00 1.00 1.00 1.00 1.00
-_
-Abs rh2 1704.56 791.31 599.81 549.74 589.01 846.88 1
-*vgr rh2 13.25 14.52 13.27 13.62 12.01 13.33
-_
-Abs spark 435.69 208.59 176.76 177.69 174.67 234.68 1
-*vgr spark 3.53 3.61 4.17 4.29 3.40 3.80
-_
-Abs vhs 973.11 475.00 384.62 351.12 343.44 505.45 1
-*vgr vhs 7.56 8.72 8.51 8.70 7.00 8.09
-_
-Abs whisper 1118.35 561.81 473.52 439.76 509.26 620.54 1
-*vgr whisper 8.69 10.31 10.48 10.89 10.38 10.15
-_
-Abs nova 2024.80 976.01 790.17 732.35 ? 1130.83 1
-*vgr nova 15.74 17.92 17.49 18.15 ? 17.32
-_
-Abs ovoyage 1969.57 1001.21 862.77 809.61 786.11 1085.85 2
-*vgr ovoyage 15.31 18.38 19.10 20.06 16.03 17.77
-_
-Abs taylor 2446.98 1076.24 912.03 837.56 799.58 1214.47 1
-*vgr taylor 19.02 19.75 20.19 20.75 16.31 19.20
-_
-Abs worm 2671.46 1218.49 966.76 859.61 932.18 1329.70 1
-*vgr worm 20.76 22.36 21.40 21.30 19.01 20.96
-_
-Abs viper 3255.73 1368.96 1102.71 1039.37 1008.15 1554.98 8
-*vgr viper 25.30 25.13 24.41 25.75 20.56 24.23
-_
-Abs vector 3956.86 1625.23 1234.03 1137.36 1121.41 1814.97 8
-*vgr vector 30.75 29.83 27.31 28.18 22.87 27.78
-_
-Abs taylor 4730.05 2225.56 1742.09 1590.57 1551.78 2368.01 2
-*vgr taylor 36.76 40.85 38.56 39.41 31.65 37.44
-_
-Abs worm 5017.85 2309.86 1894.92 1708.27 1791.11 2544.40 2
-*vgr worm 39.00 42.40 41.95 42.33 36.53 40.44
-_
-Abs worm 7082.79 3359.99 2740.50 2502.03 2594.37 3655.93 3
-*vgr worm 55.05 61.68 60.67 62.00 52.92 58.46
-_
-Abs worm 8664.78 4162.53 3323.46 3115.36 3378.75 4528.97 4
-*vgr worm 67.35 76.41 73.57 77.20 68.92 72.69
-_
-Abs worm 10072.1 5016.57 4032.60 3855.90 4043.11 5404.06 5
-*vgr worm 78.29 92.09 89.27 95.56 82.47 87.53
-_
-Abs worm 11678.4 5752.20 4758.80 4493.16 4700.52 6276.60 6
-*vgr worm 90.78 105.60 105.35 111.35 95.88 101.79
-_
-Abs worm 12282.3 6021.31 5394.36 4908.98 5141.71 6749.72 7
-*vgr worm 95.47 110.54 119.42 121.65 104.89 110.39
-_
-Abs worm 12158.3 5913.50 5784.67 5327.66 5505.71 6937.96 8
-*vgr worm 94.51 108.56 128.06 132.03 112.31 115.09
-_
-Abs patton 16028.8 7289.7 4827.9 4392.5 20829.2 53368.1 4
-*vgr patton 124.6 133.83 106.88 108.85 106.23 116.07
-.TE
-.bp
-.NH 1
-RELEASE 4.0 STATISTICS
-.LP
-.TS H
-expand box;
-l l | n n n n n | n | l.
-A/* H/W Moss World Star Bldg M35 Mean CPU
-_
-.TH
-Abs vgr 137.82 67.23 56.39 53.91 69.25 76.92 1
-*vgr vgr 1.00 1.00 1.00 1.00 1.00 1.00
-_
-Abs slc1 153.63 80.95 62.94 60.48 ? 71.60 1
-*vgr slc1 1.12 1.20 1.12 1.13 ? .91
-_
-Abs vision 165.85 89.78 76.44 75.78 96.18 100.80 1
-*vgr vision 1.21 1.33 1.36 1.42 1.36 1.33
-_
-Abs vmb 381.92 195.11 178.78 186.62 214.31 231.34 1
-*vgr vmb 2.78 2.90 3.18 3.49 3.03 3.07
-_
-Abs sws1 636.26 288.76 212.99 210.18 271.02 323.84 1
-*vgr sws1 4.64 4.30 3.79 3.93 3.83 4.09
-_
-Abs veto 827.25 436.38 361.89 348.99 422.19 479.34 1
-*vgr veto 6.03 6.50 6.45 6.54 5.97 6.29
-_
-Abs vhs 1040.44 500.52 436.90 415.15 496.30 577.86 1
-*vgr vhs 7.59 7.46 7.79 7.78 7.02 7.52
-_
-Abs cor3 1203.14 553.22 445.45 398.79 534.18 626.95 1
-*vgr cor3 8.78 8.24 7.94 7.47 7.55 7.99
-_
-Abs wilted 1556.66 800.18 722.95 708.21 858.90 929.38 1
-*vgr wilted 11.36 11.93 12.89 13.27 12.15 12.32
-_
-Abs shpcrc2 2274.36 1041.79 915.99 854.30 1110.23 1239.33 1
-*vgr shpcrc2 16.59 15.53 16.33 16.01 15.70 16.03
-_
-Abs walrus 2291.38 1094.04 960.07 892.67 1066.31 1260.89 1
-*vgr walrus 16.72 16.31 17.12 16.72 15.08 16.39
-_
-Abs walrus 4010.55 2019.34 1767.75 1685.19 2029.78 2302.52 2
-*vgr walrus 29.27 30.11 31.52 31.58 28.71 30.23
-_
-Abs patton 5235.87 2108.02 1509.85 1507.81 2132.01 2498.71 1
-*vgr patton 38.21 31.43 26.92 28.25 30.15 30.99
-_
-Abs crim 4679.97 2246.04 2143.07 1936.85 2224.65 2646.11 1
-*vgr crim 34.15 33.49 38.22 36.29 31.47 34.72
-_
-Abs uy1 6220.79 2474.97 1742.33 1748.73 2464.90 2930.34 1
-*vgr uy1 45.40 36.90 31.07 32.77 34.86 36.20
-_
-Abs wiltse 5785.83 2737.06 2473.66 2310.58 2699.06 3201.23 1
-*vgr wiltse 42.22 40.81 44.11 43.30 38.18 41.72 -mips1
-_
-Abs walrus 5743.85 2938.73 2513.24 2446.85 2858.84 3300.30 3
-*vgr walrus 41.92 43.82 44.82 45.85 40.44 43.37
-_
-Abs wiltse 7093.51 3458.89 2887.77 2730.62 3199.08 3873.97 1
-*vgr wiltse 51.77 51.57 51.50 51.17 45.25 50.25 -mips2
-_
-Abs walrus 7131.48 3613.02 3262.01 3048.77 3594.35 4129.92 4
-*vgr walrus 52.05 53.87 58.17 57.13 50.84 54.41
-_
-Abs whiz 7159.01 3655.65 3355.85 3132.36 3655.02 4191.57 4
-*vgr whiz 52.25 54.51 59.85 58.70 51.70 55.40
-_
-Abs walrus 7698.43 4119.06 3889.37 3690.27 4244.30 4728.28 5
-*vgr walrus 56.18 61.42 69.36 69.15 60.04 63.23
-_
-Abs walrus 8718.08 4625.56 4469.49 4295.53 4765.40 5374.81 6
-*vgr walrus 63.63 68.97 79.71 80.50 67.41 72.04
-_
-Abs walrus 8937.71 4882.66 4911.99 4601.09 5335.14 5733.71 7
-*vgr walrus 65.23 72.81 87.60 86.22 75.47 77.46
-_
-Abs walrus 9300.31 5136.17 5243.14 5112.23 5318.45 6022.06 8
-*vgr walrus 67.88 76.59 93.51 95.80 75.23 81.80
-_
-.TE
-.bp
-.NH 1
-ADDITIONAL STATISTICS
-.PP
-It would be greatly appreciated if you would e-mail any statistics
-that you gather to the BRL-CAD developers, including: the ``summary''
-file produced by the benchmark script, which BRL-CAD release was used,
-the manufacturer of the machine, hardware model name/number, software
-version numbers (OS and compiler), presence or absence of floating
-point hardware, processor cache sizes, bus and memory speeds, and the
-local host name (preferably an Internet or UUCP host name) of the
-specific machine used.
Deleted: brlcad/branches/bioh/doc/brep.txt
===================================================================
--- brlcad/branches/bioh/doc/brep.txt 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh/doc/brep.txt 2020-05-31 14:04:45 UTC (rev 75986)
@@ -1,223 +0,0 @@
-BRL-CAD Boundary-Representation Primitive
------------------------------------------
-
--- Introduction --
-
-This document describes the new Boundary-representation (BREP)
-primitive that has been implemented in BRL-CAD for use with external
-geometry import and improved visualisation.
-
-The primitive is not yet complete, and is currently quite buggy, so
-this document also serves to describe the current state of
-development, and the knowledge a developer needs to continue working
-on this primitive.
-
-
--- BREP Description --
-
-A boundary-representation is a method of representing solid geometry
-by describing its topology and corresponding geometry. In other words,
-the vertexes, edges, and faces as well as the points, curves, and
-surfaces belonging to those topological elements.
-
-For example, a cube has 8 vertexes each mapping to 1 point in space, 6
-faces each mapping to 1 surface, and 8 edges each shared by two faces
-and sharing its two vertexes with two other faces and owning 1 real
-curve.
-
-Actually creating/using a BREP requires keeping track of a lot of details,
-including everything mentioned above, plus curve / face orientations
-(a CCW edge/vertex ordering is usually used for determining front/back
-designations.)
-
-BRL-CAD has/had an existing BREP structure: the NMG (non-manifold
-geometry) primitive/library.
-
-[[describe reasons for not using the existing library]]
-
-One can use many types of surface and curve geometry, but generally a
-small subset are used by any particular implementation: e.g. having
-converted a few pieces of Pro/E through IGES to the new BRL-CAD BREP
-primitive, I've seen the following curve and surface types used:
-
-* Line
-* Arc
-* NURBS curve
-* Surface of revolution
-* NURBS surface
-
-The simple IGES converter used to import and test new geometry handles
-those types already. Other limitations of the converter are described
-later in the document.
-
-
--- Primitive Implementation --
-
-openNURBS was chosen to represent the geometry within BRL-CAD. This
-turned out to be a good and bad choice at the same time:
-
-* contains a lot of solid functionality
-* missing a lot of useful and important functionality
-
-In other words, the openNURBS API provided methods of functions for
-several pieces of functionality that had implementations removed when
-McNeil and Associates released openNURBS as essentially public domain
-code. This slowed development somewhat and meant the functionality had
-to be reimplemented by hand.
-
-The API is relatively straightforward C++, and it is used to evaluate
-geometry and represent/store BREPs in the BRL-CAD geometry file,
-through the built-in serialization facility (i.e. 3DM files).
-
-
--- Raytracing BREPs --
-
-See Abert et al. (raytracing 06 paper: Direct and Fast Ray Tracing of NURBS
-Surfaces).
-
-We use a two-dimensional root-finding technique: we represent the ray
-as two orthogonal planes (the intersection of the planes includes the
-ray), and then find the root of an equation that represents the
-gradient of the distance from the point to the intersection of the ray
-planes. When this gradient becomes zero (we found a root), we've also
-found the uv parameters for the intersection point.
-
-Newton iteration is used, mostly since it is simple, displays
-quadratic convergence when using good guesses, and is amenable to
-acceleration using SIMD instructions.
-
-Evaluation of the surface and its derivatives is done by the openNURBS
-library at this point. The Abert paper gives some information on how
-to do the evaluation using SIMD instructions (needed for speeding
-things up).
-
-A simple SIMD vector class has been implemented (see vector.h)
-supporting both SSE2 and FPU vector operations. This is currently only
-lightly used, since no optimization work has taken place yet
-(correctness before optimization).
-
-After intersection, we need to trim the surface. Every edge of a BREP
-is part of a loop "within" a face. Loops define boundaries on
-faces. In our cube example above, the four edges of a each face
-comprise a single loop (in this case an outer boundary). The surface
-may be defined as an infinite plane, but this outer boundary loop
-limits it to the area enclosed within those edges. As you may imagine,
-a face may have more than one loop and these additional loops will
-always be internal. All loops can also be considered trims, although
-this term seems to be reserved for actual geometric curves that are
-parameterized within the domain of an individual surface.
-
-Properly ray tracing a BREP is difficult (thus, the obvious
-explanation why this primitive is incomplete). There are several facts
-about BREPs that result in problematic situations during ray tracing:
-BREPs are not like implicit solid geometry: there is no nice equation
-to simply solve (a lot of numerical techniques are used); surfaces,
-curves and point geometry may not be aligned; there can be gaps
-between two mated surfaces... and the list goes on.
-
-Since it's possible to miss a surface but *need* a hit (i.e. it hit an
-edge but passed between surfaces that did not mate up or overlap), we
-need to do edge checks: at some point, we find out how far an
-intersection point or a ray is from some set of edges
-
-
--- Current Capabilities & Limitations --
-
-Developing a BRL-CAD primitive requires a minimum of 4 basic
-capabilities: reading from a geom db, writing to a geom db, providing
-a plot of the primitive (for MGED display), and handling shot
-intersection, which involves finding all intersections with the
-primitive and returning the results as a list of "segments" (these
-segments will later be used by BRL-CAD to do its boolean weaving).
-
-This primitive currently handles the first 3 capabilities fine, but
-has problems with the intersections (the most important part!)
-
-Issues:
-
-* bad acne (possibly caused by missing surfaces? duplicate
- intersections (making an odd number of hits along the ray), trimming
- errors?
-
-* problems with trimming (not completely sure the bezier clipping is
- correct)
-
-* possible problems with tolerances (been working with a very small
- (~2mm) object that has a moderate number of faces/edges)
-
-* no optimization, bad algorithms: bounding boxes (subsurface bounding
- boxes) should contain correct metadata concerning the need for
- trimming within the box, also a list of edges touched by the box for
- more efficient edge checking, evaluation optimization, etc...
-
-
-The current issue seems to be that we're missing surfaces altogether or
-getting extra intersections! or something funky is happening during
-trimming and edge checking. (BTW Pro/E seems to output overlapping
-surfaces, relying on the outer boundary loop to trim it - this implies
-that it should be quite difficult to actually miss both surfaces at an
-edge (since would have to get at least one intersection if they
-overlap at the edge!)
-
-[[ some pictures may be useful here ]]
-
-See all instances of "XXX" in the code (some may be out of date, but
-if something was fishy or I was being stupid/lazy/ignorant or some
-other bit of code was causing a problem, I tried to mark it with XXX.
-
-
--- Conceptual/Implementation Issues --
-
-model-space curve pullback to surface domain for trimming (introduces
-possible errors while trimming (i.e. at an edge it's possible both
-surfaces can be trimmed because of inaccuracies of sampling)...
-
-multiple intersections found
-
-handling edge/surface grazing consistently
-
-bezier conversion of nurbs curves for trimming
-
-subsurface bounding boxes: when subdividing a surface domain and
-testing for flatness, hard to create a perfect bounding box around the
-subdomain (i.e. such that all points on the surface lie within the
-bounding box.) For the most part this may not be a problem, but
-oblique shots cause problems here (an image would help). Either way,
-the problem of better fitting bounding boxes (without just arbitrarily
-increasing the size which would seriously affect performance) needs to
-be considered... currently attempting to sample an additional 5 points
-(instead of just the corners). This should serve to handle the current
-problem.
-
-Close-up axis aligned rendering of a cylinder from the circular ends
-produces a halo of spurious points. Ugh!
-
-Optimize for small objects (there are some fixed size adjustments in
-the bounding box/subsurface code).
-
-
--- IGES converter --
-
-A significant bit of time was spent writing the skeleton for a new
-IGES converter in order to get non-trivial BREP geometry from an
-external package into BRL-CAD for testing purposes (have been using
-the piston head part from one of the Pro/E tutorial models).
-
-I believe this converter can be made production-ready with some work:
-
-* polish options for output
-
-* handle assemblies and their proper mapping to BRL-CAD
-
-* handle naming? (don't know if IGES carries names, or if Pro/E adds
- them)
-
-* handle units properly!
-
-* tolerances when converting are still flaky (fix it) (cause BREP
- validity problems). Trims endpoint are not within zero tolerance
- (1e-12), so they "don't match" but they are very very close
- (1e-11)... so need to go through and call ON_Brep::CloseTrimGap() on
- each pair of trims in a loop.
-
-* Run lots of test cases!!!
Deleted: brlcad/branches/bioh/doc/bsd_semaphore_bug.txt
===================================================================
--- brlcad/branches/bioh/doc/bsd_semaphore_bug.txt 2020-05-29 16:33:10 UTC
(rev 75985)
+++ brlcad/branches/bioh/doc/bsd_semaphore_bug.txt 2020-05-31 14:04:45 UTC
(rev 75986)
@@ -1,161 +0,0 @@
-The below backtraces were able to catch the infamous "fatal semaphore
-acquisition failure" bug on BSD. This is a bit tricky to catch in the act, so
-the below backtraces are added here to serve as references. They document both
-the gdb backtrace and the trick used to successfully attach to it it (a long
-sleep call compiled in to the key failure area prior to the run, allowing us to
-get a debugger on the program before it actually vanishes.) This case is most
-reliably seen when running make regress in parallel mode - it doesn't usually
-trigger when running individual programs interactively, although those do
-fail occasionally.
-
-So far this has only been observed on FreeBSD.
-
-Adjustment of the bombing message code reveals that the fatal error is
-EPERM - The current thread does not own the mutex.
-
-Maybe relevant (not sure if we have any code that might be using automatic
variables after thread_exit(), but the symptoms sound similar...) Only other
candidate I'm seeing is memory corruption of some sort...
-https://stackoverflow.com/a/7612070
-
-
-The first failure is from a GQA run:
-
-Architecture set to: x86_64--freebsd11.2.
-(lldb) bt
-* thread #1, name = 'gqa'
- * frame #0: 0x0000000817433f5c libthr.so.3`_umtx_op_err + 12
- frame #1: 0x000000081743056a
libthr.so.3`join_common(pthread=0x000000081ae18800,
thread_return=0x0000000000000000, abstime=0x0000000000000000) at thr_join.c:125
- frame #2: 0x0000000814b9b841
libbu.so.20`bu_parallel(func=(libged.so.20`plane_worker at gqa.c:1223),
ncpu=16, arg=0x00007fffffffe660) at parallel.c:722
- frame #3: 0x0000000800af161c libged.so.20`ged_gqa(gedp=0x000000081ae8d000,
argc=11, argv=0x000000081ae1c300) at gqa.c:2449
- frame #4: 0x00000000004010c3 gqa`main(argc=12, argv=0x00007fffffffe828) at
gqa.c:102
- frame #5: 0x0000000000400c05 gqa`_start + 149
-(lldb) thread list
-Process 56371 stopped
-* thread #1: tid = 101853, 0x0000000817433f5c libthr.so.3`_umtx_op_err + 12,
name = 'gqa'
- thread #2: tid = 100989, 0x000000081792e6da libc.so.7`__sys_nanosleep + 10,
name = 'gqa'
-(lldb) thread select 2
-* thread #2, name = 'gqa'
- frame #0: 0x000000081792e6da libc.so.7`__sys_nanosleep + 10
-libc.so.7`__sys_nanosleep:
--> 0x81792e6da <+10>: jb 0x8179a05a4 ; .cerror
- 0x81792e6e0 <+16>: retq
- 0x81792e6e1: int3
- 0x81792e6e2: int3
-(lldb) bt
-* thread #2, name = 'gqa'
- * frame #0: 0x000000081792e6da libc.so.7`__sys_nanosleep + 10
- frame #1: 0x0000000817428a2c
libthr.so.3`__thr_nanosleep(time_to_sleep=<unavailable>,
time_remaining=<unavailable>) at thr_syscalls.c:287
- frame #2: 0x00000008178b19eb libc.so.7`__sleep(seconds=60000) at sleep.c:62
- frame #3: 0x0000000814bb218c libbu.so.20`bu_semaphore_release(i=20) at
semaphore.c:272
- frame #4: 0x0000000800aebc31 libged.so.20`hit(ap=0x00007fffdd7f9dd8,
PartHeadp=0x00007fffdd7f97e8, segs=0x00007fffdd7f98e8) at gqa.c:1093
- frame #5: 0x0000000804062b12
librt.so.20`rt_shootray(ap=0x00007fffdd7f9dd8) at shoot.c:1273
- frame #6: 0x0000000800aec6cf libged.so.20`plane_worker(cpu=5,
ptr=0x00007fffffffe660) at gqa.c:1280
- frame #7: 0x0000000814b9bdcb
libbu.so.20`parallel_interface_arg(utd=0x000000081afedc80) at parallel.c:428
- frame #8: 0x0000000817426026
libthr.so.3`thread_start(curthread=0x000000081ae18800) at thr_create.c:290
-(lldb) up
-frame #1: 0x0000000817428a2c
libthr.so.3`__thr_nanosleep(time_to_sleep=<unavailable>,
time_remaining=<unavailable>) at thr_syscalls.c:287
- 284
- 285 curthread = _get_curthread();
- 286 _thr_cancel_enter(curthread);
--> 287 ret = __sys_nanosleep(time_to_sleep, time_remaining);
- 288 _thr_cancel_leave(curthread, 1);
- 289
- 290 return (ret);
-(lldb) up
-frame #2: 0x00000008178b19eb libc.so.7`__sleep(seconds=60000) at sleep.c:62
- 59
- 60 time_to_sleep.tv_sec = seconds;
- 61 time_to_sleep.tv_nsec = 0;
--> 62 if (((int (*)(const struct timespec *, struct timespec
*))
- 63 __libc_interposing[INTERPOS_nanosleep])(
- 64 &time_to_sleep, &time_remaining) != -1)
- 65 return (0);
-(lldb) up
-frame #3: 0x0000000814bb218c libbu.so.20`bu_semaphore_release(i=20) at
semaphore.c:272
- 269 # if defined(HAVE_PTHREAD_H)
- 270 if (pthread_mutex_unlock(&bu_semaphores[i].mu)) {
- 271 fprintf(stderr, "bu_semaphore_acquire():
pthread_mutex_unlock() failed on [%d]\n", i);
--> 272 sleep(60000);
- 273 bu_bomb("fatal semaphore acquisition failure");
- 274 }
- 275 # endif
-
-
-The second is from an rt raytrace of a bot:
-
-bin/rt".
-Architecture set to: x86_64--freebsd11.2.
-(lldb) bt
-* thread #1, name = 'rt'
- * frame #0: 0x0000000800861f5c libthr.so.3`_umtx_op_err + 12
- frame #1: 0x000000080085e56a
libthr.so.3`join_common(pthread=0x000000081aa3a400,
thread_return=0x0000000000000000, abstime=0x0000000000000000) at thr_join.c:125
- frame #2: 0x000000081455d841
libbu.so.20`bu_parallel(func=(librt.so.20`_db_walk_dispatcher at
db_tree.c:1955), ncpu=16, arg=0x00007fffffffd700) at parallel.c:722
- frame #3: 0x00000008032b0f8e
librt.so.20`db_walk_tree(dbip=0x000000081a861000, argc=1,
argv=0x00007fffffffe888, ncpu=16, init_state=0x00007fffffffd988,
reg_start_func=(librt.so.20`_rt_gettree_region_start at tree.c:109),
reg_end_func=(librt.so.20`_rt_gettree_region_end at tree.c:146),
leaf_func=(librt.so.20`_rt_gettree_leaf at tree.c:444),
client_data=0x00007fffffffd978) at db_tree.c:2199
- frame #4: 0x00000008036661d7
librt.so.20`rt_gettrees_muves(rtip=0x000000081a8a7000,
attrs=0x0000000000000000, argc=1, argv=0x00007fffffffe888, ncpus=16) at
tree.c:783
- frame #5: 0x0000000803669021
librt.so.20`rt_gettrees_and_attrs(rtip=0x000000081a8a7000,
attrs=0x0000000000000000, argc=1, argv=0x00007fffffffe888, ncpus=16) at
tree.c:887
- frame #6: 0x0000000803669142
librt.so.20`rt_gettrees(rtip=0x000000081a8a7000, argc=1,
argv=0x00007fffffffe888, ncpus=16) at tree.c:914
- frame #7: 0x0000000000406a00 rt`def_tree(rtip=0x000000081a8a7000) at
do.c:575
- frame #8: 0x000000000040bd52 rt`main(argc=6, argv=0x00007fffffffe860) at
main.c:495
- frame #9: 0x00000000004062e5 rt`_start + 149
-(lldb) thread list
-Process 7726 stopped
-* thread #1: tid = 100805, 0x0000000800861f5c libthr.so.3`_umtx_op_err + 12,
name = 'rt'
- thread #2: tid = 101797, 0x0000000816ec76da libc.so.7`__sys_nanosleep + 10,
name = 'rt'
-(lldb) thread select 2
-* thread #2, name = 'rt'
- frame #0: 0x0000000816ec76da libc.so.7`__sys_nanosleep + 10
-libc.so.7`__sys_nanosleep:
--> 0x816ec76da <+10>: jb 0x816f395a4 ; .cerror
- 0x816ec76e0 <+16>: retq
- 0x816ec76e1: int3
- 0x816ec76e2: int3
-(lldb) bt
-* thread #2, name = 'rt'
- * frame #0: 0x0000000816ec76da libc.so.7`__sys_nanosleep + 10
- frame #1: 0x0000000800856a2c
libthr.so.3`__thr_nanosleep(time_to_sleep=<unavailable>,
time_remaining=<unavailable>) at thr_syscalls.c:287
- frame #2: 0x0000000816e4a9eb libc.so.7`__sleep(seconds=60000) at sleep.c:62
- frame #3: 0x000000081457418c libbu.so.20`bu_semaphore_release(i=12) at
semaphore.c:272
- frame #4: 0x000000080366a193
librt.so.20`_rt_find_identical_solid(mat=0x0000000000000000,
dp=0x000000081a8a2e98, rtip=0x000000081a8a7000) at tree.c:425
- frame #5: 0x00000008036681e3
librt.so.20`_rt_gettree_leaf(tsp=0x000000081a9fa008, pathp=0x000000081a9fa150,
ip=0x00007fffd69eecc0, client_data=0x00007fffffffd978) at tree.c:491
- frame #6: 0x00000008032ae1b1
librt.so.20`db_recurse(tsp=0x000000081a9fa008, pathp=0x000000081a9fa150,
region_start_statepp=0x00007fffd69eef60, client_data=0x00007fffffffd978) at
db_tree.c:1170
- frame #7: 0x00000008032b35c9
librt.so.20`_db_walk_subtree(tp=0x000000081a81f200,
region_start_statepp=0x00007fffd69eef60,
leaf_func=(librt.so.20`_rt_gettree_leaf at tree.c:444),
client_data=0x00007fffffffd978, resp=0x000000000062e520) at db_tree.c:1898
- frame #8: 0x00000008032b172f librt.so.20`_db_walk_dispatcher(cpu=16,
arg=0x00007fffffffd700) at db_tree.c:1992
- frame #9: 0x000000081455ddcb
libbu.so.20`parallel_interface_arg(utd=0x000000081a9f85e0) at parallel.c:428
- frame #10: 0x0000000800854026
libthr.so.3`thread_start(curthread=0x000000081aa3a400) at thr_create.c:290
-(lldb) up
-frame #1: 0x0000000800856a2c
libthr.so.3`__thr_nanosleep(time_to_sleep=<unavailable>,
time_remaining=<unavailable>) at thr_syscalls.c:287
- 284
- 285 curthread = _get_curthread();
- 286 _thr_cancel_enter(curthread);
--> 287 ret = __sys_nanosleep(time_to_sleep, time_remaining);
- 288 _thr_cancel_leave(curthread, 1);
- 289
- 290 return (ret);
-(lldb) up
-frame #2: 0x0000000816e4a9eb libc.so.7`__sleep(seconds=60000) at sleep.c:62
- 59
- 60 time_to_sleep.tv_sec = seconds;
- 61 time_to_sleep.tv_nsec = 0;
--> 62 if (((int (*)(const struct timespec *, struct timespec
*))
- 63 __libc_interposing[INTERPOS_nanosleep])(
- 64 &time_to_sleep, &time_remaining) != -1)
- 65 return (0);
-(lldb) up
-frame #3: 0x000000081457418c libbu.so.20`bu_semaphore_release(i=12) at
semaphore.c:272
- 269 # if defined(HAVE_PTHREAD_H)
- 270 if (pthread_mutex_unlock(&bu_semaphores[i].mu)) {
- 271 fprintf(stderr, "bu_semaphore_acquire():
pthread_mutex_unlock() failed on [%d]\n", i);
--> 272 sleep(60000);
- 273 bu_bomb("fatal semaphore acquisition failure");
- 274 }
- 275 # endif
-(lldb) up
-frame #4: 0x000000080366a193
librt.so.20`_rt_find_identical_solid(mat=0x0000000000000000,
dp=0x000000081a8a2e98, rtip=0x000000081a8a7000) at tree.c:425
- 422 */
- 423 bu_semaphore_acquire(RT_SEM_STATS);
- 424 stp->st_bit = rtip->nsolids++;
--> 425 bu_semaphore_release(RT_SEM_STATS);
- 426
- 427 /*
- 428 * Fill in the last little bit of the structure in full
parallel
-(lldb)
-
Deleted: brlcad/branches/bioh/doc/bu_opt_design_notes.txt
===================================================================
--- brlcad/branches/bioh/doc/bu_opt_design_notes.txt 2020-05-29 16:33:10 UTC
(rev 75985)
+++ brlcad/branches/bioh/doc/bu_opt_design_notes.txt 2020-05-31 14:04:45 UTC
(rev 75986)
@@ -1,97 +0,0 @@
-Thoughts on expansion of bu_opt capability to include subcommands, other misc
-notes...
-
-Check over POSIX.1-2008 Utility Conventions - should guide (but not define) our
-option handling. (In particular, we want long opts. On the other hand,
-probably explicitly don't want the full GNU 'opts anywhere' convention as that
-precludes structured subcommand parsing.)
-
-http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
-
-* Define separate structure for subcommands, have as an optional pointer in
- bu_opt structure.
-
-* Explore + and -+ as opt/longopt specifiers for subcommands, directly mapping
to
-- and -- for options. Use +- to denote the end of a subcommand, like -- denotes
-end of options.
-
-Rule - options with optional arguments (e.g. --help JSON vs --help - both are
-legal) will require that arguments needing to start with a "+" character (e.g.
---help "+arg1") be quoted. (For that matter, is the same true of normal "-"
-option parsing?)
-
-Can we allow "lazy" subcommand specification without +/-+ if we disqualify any
-string in quotes from being a subcommand? (e.g. 'cmd arg1 arg2' treats arg1 as
-a subcommand but 'cmd "arg1" arg2' treats arg1 as an arg? Do we need to worry
-about this at all?
-
-Can "leftover" operands from a subcommand be handed back up to parent commands?
-
-Convention thoughts:
-
-- or -- - option/long-option handling per POSIX and GNU convention.
-
-+ or -+ - explicit specifier of subcommand.
-
--- - explicit 'exit option parsing' mode - remainder is operands (per POSIX)
-except that a -+ option will indicate another subcommand or a +- will elevate
-the parsing environment back to the parent level.
-
-+- "exit subcommand" - returns parsing to the parent level command evaluation
-environment: brep -a1 -+plot -p1 +- -o out.pl results in brep handling -o
-out.pl, not plot.
-
-Scope of "next arg" other than +- is current command/subcommand: e.g. brep -a1
--+plot -p1 will pass p1 to plot's option handling, not brep's
-
-If subsequent -+ are specified, first check if the current command has the
-specified subcommand. If not, return parsing to the parent level to see if it
-has the specified subcommand, and so on until a command table claims the
-subcommand. Allows for both a subcommand of a subcommand:
-
-brep obj_csg.c -+bool_eval -+plot curve S1_S2
-
-and subsequent subcommands:
-brep obj_csg.c -+facetize -+simplify
-
-to be specified without requiring +- unless a command and a subcommand both
-have a matching subcommand.
-
-With that feature present, +- is necessary to specify a parent command's
version of
-the subcommand unambiguously (i.e. requires explicit exiting of subcommand
state with
-a matching subcommand):
-
-cmd arg1 +c +d -> runs d subcommand defined by c
-cmd arg1 +c +- +d -> runs d subcommand defined by cmd
-
-
-TODOs for bu_opt help routines:
-
-Maybe have help as a default subcommand rather than a default option, to allow
for fancy
-stuff without bastardizing the help option?
-
-* define a built-in bu_help to support docbook, json, etc. specification which
- can be used by commands not wanting to define their own, more complex
options.
-
-* need a routine to generate a POSIX compliant one-line description of the
- command's syntax
-
-* need built-in help (option or subcommand, maybe both?) that is available for
- commands not wanting to define their own help, but can be over-ridden by an
- explicit specification of help in the options. We will need some "smart"
help
- options for JSON, DocBook, etc as well as subcommand listing (--help cmds
- maybe?) so a calling script can systematically and automatically generate
- documentation for all commands.
-
-* explore the possibility of adding to the help system a generator of some sort
- that can produce a JSON structure describing the structure of the commands
and
- options in such a way that a libbu routine could accept that structure as a
- validation template and validate a command line string against it. Would
- (potentially) allow for things like smart tab completion, valid/invalid
syntax
- highlighting, etc. without having to either explicitly duplicate the command
- syntax in code or back such validation logic into each command. With this
- setup we would run the "generate syntax" help option for every
command/subcommand
- in all of BRL-CAD (which just coincidentally would make the function of the
- help system for every command in the code a build time requirement/check)
- and supply a pre-built validation database in a data_dir location for libbu
- to check.
Deleted: brlcad/branches/bioh/doc/cmake_vars.txt
===================================================================
--- brlcad/branches/bioh/doc/cmake_vars.txt 2020-05-29 16:33:10 UTC (rev
75985)
+++ brlcad/branches/bioh/doc/cmake_vars.txt 2020-05-31 14:04:45 UTC (rev
75986)
@@ -1,99 +0,0 @@
-# This is a worksheet to help with organizing our CMake options with
-# an eye towards consistency, clarity, and simplification.
-#
-# TODO:
-# * consistent naming convention
-# * eliminate aliases
-# * drop unnecessary/unhelpful/obsolete flags
-# * audit what ccmake presents by default
-#
-
-### HOW TO COMPILE ###
-
-CMAKE_BUILD_TYPE := Release | Debug
-
-BRLCAD_ENABLE_VERBOSE_PROGRESS "verbose output" OFF
-BRLCAD_ENABLE_COVERAGE "Build with coverage enabled" OFF
-
-ENABLE_ALL_CXX_COMPILE "Build all C and C++ files with a C++ compiler." OFF
- ENABLE_ALL_CXX
-ENABLE_POSIX_COMPLIANCE
- ENABLE_POSIX
-
-BRLCAD_ENABLE_PROFILING
-BRLCAD_ENABLE_DTRACE "Build with dtrace support" OFF
-
-BRLCAD_ENABLE_SMP "Enable SMP architecture parallel computation support" ON
-BRLCAD_ENABLE_RUNTIME_DEBUG
- ENABLE_RUNTIME_DEBUG
- ENABLE_RUN_TIME_DEBUG
- ENABLE_RUNTIME_DEBUGGING
- ENABLE_RUN_TIME_DEBUGGING
-BRLCAD_FLAGS_DEBUG
- ENABLE_DEBUG
- ENABLE_FLAGS_DEBUG
- ENABLE_DEBUG_FLAGS
-BRLCAD_ENABLE_COMPILER_WARNINGS
- ENABLE_WARNINGS
- ENABLE_COMPILER_WARNINGS
-BRLCAD_ENABLE_STRICT
- ENABLE_STRICT
- ENABLE_STRICT_COMPILE
- ENABLE_STRICT_COMPILE_FLAGS
-ENABLE_STRICT_COMPILER_STANDARD_COMPLIANCE "Build with strict ISO C compliance
checking. Defaults to OFF." OFF
-
-
-### WHAT TO COMPILE ###
-
-BRLCAD_ENABLE_MINIMAL "Skip GUI support and docs. Faster builds." OFF
-BUILD_SHARED_LIBS "Build shared libraries" ON
-BUILD_STATIC_LIBS "Build static libraries" ON
-BRLCAD_ENABLE_BRLCAD_LIBRARY "Build the brlcad.dll" OFF
-
-BRLCAD_BUNDLED_LIBS := AUTO | BUNDLED | SYSTEM
- ENABLE_ALL
-
-BRLCAD_ENABLE_AQUA "Use Aqua instead of X11 whenever possible on OSX." OFF
-BRLCAD_ENABLE_X11 "Use X11." OFF
-BRLCAD_ENABLE_TK "Enable features requiring the Tk toolkit" ON
-BRLCAD_ENABLE_OPENGL "Enable support for OpenGL based Display Managers in
BRL-CAD." ON
- OFF "Disabled - NOT BRLCAD_ENABLE_X11 and NOT
BRLCAD_ENABLE_AQUA"
- ENABLE_OPENGL
-BRLCAD_ENABLE_QT "Enable features requiring Qt" OFF
-BRLCAD_ENABLE_OSG "Enable features requiring OpenSceneGraph" OFF
-
-BRLCAD_ENABLE_RTGL "Enable experimental RTGL code." OFF
-BRLCAD_ENABLE_BULLET "Enable features requiring the Bullet Physics Library" ON
-BRLCAD_ENABLE_GCT "Enable features requiring GCT" ON
-BRLCAD_ENABLE_GDAL "Enable features requiring the Geospatial Data Abstraction
Library" ON
-BRLCAD_ENABLE_SPR "Enable features requiring Screened Poisson Surface
Reconstruction" OFF
-
-BRLCAD_ENABLE_BINARY_ATTRIBUTES "Enable support for binary attributes" OFF
-
-BRLCAD_ENABLE_OPENCL "Enable features requiring OpenCL" OFF
-
-BRLCAD_EXTRADOCS
- ENABLE_DOCS
- ENABLE_EXTRA_DOCS
- ENABLE_DOCBOOK
-BRLCAD_EXTRADOCS_VALIDATE "Perform validation for DocBook documentation" ON
-BRLCAD_EXTRADOCS_HTML "Build MAN page output from DocBook documentation" ON
-BRLCAD_EXTRADOCS_PHP "Build MAN page output from DocBook documentation" OFF
-BRLCAD_EXTRADOCS_PPT "Build MAN page output from DocBook documentation" ON
-BRLCAD_EXTRADOCS_MAN "Build MAN page output from DocBook documentation" ON
-BRLCAD_EXTRADOCS_PDF "Build PDF output from DocBook documentation" OFF
-BRLCAD_ENABLE_TARGETS "controls all DocBook based documentation. Keys off
what target level is enabled."
- EXTRADOCS_DEFAULT is ON when <= 2 ; OFF when > 2
-
-
-### HOW TO INSTALL ###
-
-BRLCAD_ENABLE_WIX
-BRLCAD_INSTALL_EXAMPLE_GEOMETRY "Install the example BRL-CAD geometry files."
ON
-
-# Local Variables:
-# tab-width: 8
-# mode: cmake
-# indent-tabs-mode: t
-# End:
-# ex: shiftwidth=2 tabstop=8
Deleted: brlcad/branches/bioh/doc/csv_to_comgeom.txt
===================================================================
--- brlcad/branches/bioh/doc/csv_to_comgeom.txt 2020-05-29 16:33:10 UTC (rev
75985)
+++ brlcad/branches/bioh/doc/csv_to_comgeom.txt 2020-05-31 14:04:45 UTC (rev
75986)
@@ -1,17 +0,0 @@
-These are some notes about using text manipulation tools to try taking the csv
-text files from GCI's transcription work and formatting them as comgeom files.
-I don't think they're fully working as yet, but certainly they are a starting
-point.
-
-tr "\r" "\n" < in_raw.csv > in.csv
-
-Solid table:
-
-awk -F, 'BEGIN {widthlist = "3 3 10 10 10 10 10 10 10"; split (widthlist,
widths, " ")}{for(i=1;i<=NF;i++){printf "%-*s", widths[i],$i};printf "\n"}'
in.csv
-
-Region table:
-awk -F, 'BEGIN {widthlist = "5 2 5 7 7 7 7 7 7 7 2 5 10"; split (widthlist,
widths, " ")}{for(i=1;i<=NF;i++){printf "%-*s", widths[i],$i};printf "\n"}'
in.csv
-
-Ident table:
-awk -F, 'BEGIN {widthlist = "10 10 10 43 3 3"; split (widthlist, widths, "
")}{for(i=1;i<=NF;i++){printf "%-*s", widths[i],$i};printf "\n"}' in.csv
-
Deleted: brlcad/branches/bioh/doc/cvs.txt
===================================================================
--- brlcad/branches/bioh/doc/cvs.txt 2020-05-29 16:33:10 UTC (rev 75985)
+++ brlcad/branches/bioh/doc/cvs.txt 2020-05-31 14:04:45 UTC (rev 75986)
@@ -1,804 +0,0 @@
-BRL-CAD Concurrent Versions System Policy and Guidelines
-========================================================
-
-
-**********************************************************************
-NOTE: THESE INSTRUCTIONS ARE OUT-OF-DATE AS BRL-CAD NOW USES
-SUBVERSION INSTEAD OF CVS. CONSULT WITH CAUTION AS SOME PORTIONS ARE
-STILL RELEVANT BUT OTHERS THAT ARE CVS-SPECIFIC ARE NOT.
-**********************************************************************
-
-
-The document includes a set of requirements and recommended procedures
-for how to effectively use CVS with this project. Included are
-details on checking code in and out, effective use of commit messages,
-tag naming conventions, branch management, making releases, and more.
-Basic knowledge of CVS, its capabilities, and to a lesser extent its
-limitations are beyond the scope of this document. See the CVS
-website and the "References" section for more information. That said,
-the following general rules should always be adhered to:
-
-1. Code committed against HEAD should at least be tested and compile
- for the developer committing changes. "Don't break it."
-
-2. There is a STABLE branch that may only have code committed against
- it that a) compiles on all relevant platforms, b) does not
- detrimentally degrade performance, and c) runs correctly passing
- available validation tests.
-
-3. Branches should be used for experimental work that would otherwise
- leave HEAD in an inconsistent, non-compiling, or untestable state.
- Branches are not merged into HEAD until the code has been tested
- for correct and proper functionality.
-
-4. Commit and update frequently. Large or complicated changes should
- be broken up into smaller succinct commits as best possible to make
- reviewing easier. Commit working code early and commit often.
-
-5. Be consistent and informative. Tags need to follow a consistent
- naming convention. Commit messages need to be informative. Source
- code changes should follow existing style and be usefully
- commented.
-
-
-TABLE OF CONTENTS
------------------
- Introduction
- Table of Contents
- Overview
- Checking out sources
- from HEAD
- from STABLE
- from a branch/revision
- Checking in sources
- commit messages
- to HEAD
- to STABLE
- to a branch/revision
- Tag naming convention
- for releases
- for branches
- Making a release
- creating a maintenance branch
- applying release patches
- Merging a branch
- merging a branch into HEAD
- merging HEAD into a branch
- Making a branch
- Usage Tips
- References
-
-
-OVERVIEW
---------
-
- Code organizational sanity and consistency are of paramount
- importance. As CVS can both help and hinder efforts to keep the
- sources organized, the policy and guidelines outlined herein
- overview the manner in which CVS should be used with this project.
-
- This CVS policy and guidelines document should be used in
- combination with a developer's guide that covers other aspects of
- code contributions and developer behavior such as how and where to
- provide patches, what coding styles should be used, and how to
- make releases. Likewise, exact semantics of testing policy,
- requirements for migrating code from HEAD to STABLE, basic CVS
- usage, and release policy are outside the scope of this document.
-
- The intent of this document is to cover the broad aspects of how
- CVS is to be organized and used. This includes branch management,
- tag naming conventions, checking sources in and out, and other
- relevant usage policy.
-
- CVS branches should be used to separate out the various types of
- source code revisions. These include:
-
- 1) current or "active" sources
- 2) stable sources
- 3) releases
- 4) experimental sources
-
- The CVS HEAD is for active development. A separate STABLE branch
- exists to hold a revision of the sources that is validated and
- tested across platforms. Releases should only made off of stable
- revisions of the source code. When a release is made, a
- maintenance branch may and should exist for making patch releases.
- Finally, various experimental and developer undertakings that may
- benefit by being isolated from changes to HEAD or STABLE, or would
- likewise be disruptive to normal HEAD functionality, may live on
- a branch of their own.
-
- It's very important that the main CVS HEAD revision be a "mostly"
- stable code base so that at any given time users may download the
- latest sources, get the source code to compile with minimal
- effort, and have the core components mostly function as expected.
- See the "Checking in sources to HEAD" section for more details.
-
- Some users and developers will need from time to time to obtain a
- relatively recent version of the sources that is certain or at
- least expected to "work". This is what the STABLE branch is for.
- See the "Checking in sources to STABLE" section for more
- information.
-
-
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits